Sunday, September 21, 2014

GET POST Method in ASP.NET C#

Many of you are aware of the GTE, POST, PUT & DELETE methods in ASP.NET, these are the basic method to send the value form one Form to another Form. Lets see how these work in ASP.NET project using C#.

GET :
Using GET method you can send all the input (textbox,textarea,radio button, checkbox etc..) to another form or another page. So how to do this?

Take a HTML page and write down the following HTML codes.

In Default.aspx to get the value of these two text boxes values we have to write code in Page_Load method. Make one thing clear, in the time of GET, POST we use NAME instead of ID. So lets check what will be for get method.
protected void Page_Load(object sender, EventArgs e)
{
     string name = ""; string pass = "";
     if (Request.QueryString["Name"] != null && Request.QueryString["Password"] != null)
     {
           name = Request.QueryString["Name"].ToString();
           pass = Request.QueryString["Password"].ToString();
     }
}

By Request.QueryString["Name"].ToString() this one we can get the value of a field which is sending through GET method. When we hit the submit button the URL will be something like this.

localhost/default.aspx?Name=arka&Password=arka1 

Normally we don't use GET to send sensitive fields like Passwords because it shows in the URL, I used it here just for an example.

POST :
Unlike GET in the POST method we can't see the values in the URL. It sends the values internally. Basically it has 2 parts. Head and body. In the head section it holds the variable name and in the body part holds the value. We will use the same example for the POST also.
Now lets check how to get the value using POST method in C# coding.
protected void Page_Load(object sender, EventArgs e)
{
     string name = ""; string pass = "";
     if (Request.Form["Name"] != null && Request.Form["Password"] != null)
     {
           name = Request.Form["Name"].ToString();
           pass = Request.Form["Password"].ToString();
     }
}
use Request.Form instead of Request.QueryString to get the value from POST method. And rest of the thing is same as GET.

AJAX UpdateProgress Image(GIF) and Text in ASP.NET C#

Hi, today I will show you how use AJAX Update Progress Bar to show loading process. You can show this with a loading GIF image or any text. Its better to use an image. You can download any one, as various kinds of GIF images are available in Google or you can create your own one.

Step #1 :
So, first off all create a new project and add  a new WebForm. Add a Script Manager at the top of the form before it flushes out from you mind and get an error. After adding take an Update Panel and within that UpdatePanel take a ContentTemplate. Each and every HTML and ASP controls have to be design within the ContentTemplate if you are putting them within UpdatePanel.

Step #2:
Take a new Button and a Label to execute the operation. And then add the most important thing for this article, the UpadateProgress. You will get this tool in the tool box within AJAX Extensions.


Add the UpdateProgress into the page and change the attribute AssociatedUpdatePanelID to the UpdatePanel name. and Dynamiclayout to true.

 AssociatedUpdatePanelID="UpdatePanel1"   DynamicLayout="true"

Step #3:
Here UpdatePanel1 is the UpdatePanel, which I have taken in the project. Place the image of loading into the ProgressTemplate within UpdateProgress with normal HTML image tool or write down the Text you want to display during the process.

Lets check the code how it works.

  
     
     
     
        
            Loading.. 
            Loading...
        
     
  


In the project I haven't done any such work that will took so much time to show the loading message. So I am using Thread.Sleep(3000) to gain a loading time of 3 seconds. Write down the following code into the button click event.
using System.Threading;

protected void btnShow_Click(object sender, EventArgs e)
{
     Thread.Sleep(3000);
     Label1.Text = "done !";
}

Now it should be clear how to show a progress bar (image or text) during  loading of some thing in ASP.NET. Hope it will help you to build your project successful. Happy coding... :)

Friday, September 19, 2014

Required field and email verification using Angular JS

In my previous post I have shown how to use Angular JS in your project , now in this post I will show you how to valid a required field or an email field using Angular JS. You can do this using ASP validation process or  using JavaScript or JQuery. But in this  post I will show you how to use Angular JS to validate the HTML fields.

Username: Username is required.
Email: Email is required. Invalid email address.

Run your page into local server to validate your HTML controls using Angular JS. Happy coding .... :)

Show instantly as write into the TextBox using Angular JS

This is my first post about Angular JS. Here in this post I will show you how to show the text into <p> tag as you type into a TextBox. I will do it with the help of Angular JS. Before starting it is important to discuss some thing about Angular JS.

So, what is Angular JS actually?

  1. AngularJS is a structural framework for dynamic web apps. It lets you use HTML as your template language and lets you extend HTML's syntax to express your application's components clearly and succinctly. Angular's data binding and dependency injection eliminate much of the code you currently have to write.
To add this into your project add the following line into the head section.



aNow its time to start the project. Once again I clarify the aim of the project. There will be one TextBox and one <p> tag. As you type in the TextBox the text will be show in the <p> tag. You can do this in the TextChange event in the JavaScript or JQuery. But with the help of Angular JS its a matter of one line.

Lets come how to do this.

Type Text:

ng-app : directive defines an AngularJS application.
ng-model : directive binds the value of HTML controls like input, select, textarea etc. to application data.
ng-bind : directive binds application data to the HTML view. Now run your HTML page and check it out.

Your first Angular JS page is ready to rock n roll. 

Get HTML Select(Drop Down List) value in Code Behind (C#) in ASP.NET

Sometimes its very mush important to get the value of the HTML Drop Down List, Select value from the code behind (C#). So how to get the value of a HTML control value in the code behind. A very easy thing to do.

Create a new project and add a WebForm and add a new select tag with some value. Like this



Now in the C# page write the code to get the value.
string ddl = "";
// to get the selected value
ddl = Requets.Form["ddl"].ToString();

To get the selected value the actual code is
Requets.Form["ddl"]

In this way you can get the data of a HTML field from code behind (C#). With in that click event write down the following code

Thursday, September 18, 2014

WebForms UnobtrusiveValidationMode requires a ScriptResourceMapping for 'jquery'

Sometime you found "WebForms UnobtrusiveValidationMode requires a ScriptResourceMapping for 'jquery'." in your ASP project when you are running the project.

As a remedy of the project  "Please add a ScriptResourceMapping named jquery(case-sensitive)." What is this ? How to solve this? Very easy stuff to do.

If your project if there is no Global.asax added then add one into your project by clicking on the Add New Item. After adding this you will see there is a method Application_Start. Add the following script into that method.

ScriptManager.ScriptResourceMapping.AddDefinition("jquery", 
    new ScriptResourceDefinition
{
  Path = "~/scripts/jquery-1.7.2.min.js",
  DebugPath = "~/scripts/jquery-1.7.2.min.js",
  CdnPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.1.min.js",
  CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.1.js"
});

Now save the Global.asax and run your project. It will run successfully. :)

Saturday, September 13, 2014

SQL Split function to split an input string

This article I am starting with a real life example. In posting an article in a blog we have to define tags (Like  C#.NET, AJAX, ASP.NET,HTML) upon the article. We usually take these tags in a TextBox with separated them by comma(,). To insert these into database we have two ways to do.

First Method using C# :

Using C# you can split the TextBox items and use a for loop to insert into the database. Code is as follow.
string []tags = txtTags.Text.Trim().Split(',');

/* With for loop */
for (int i=0;i<tags.Count ;i++)
{
 /* perform db query with tags[i].ToSting();
}

/* with foreach */
foreach (string i in tags)
{
  /* perform db query with i.ToSting();
}

Second SQL Method :

Here in the SQL we pass the whole items of TextBox into SQL function to split it and then insert these into specific table. Lets see how to do this.
CREATE FUNCTION SplitText
(    
      @Input NVARCHAR(MAX),
      @Character CHAR(1)
)
RETURNS @Output TABLE (
      Item NVARCHAR(1000)
)
AS
BEGIN
      DECLARE @StartIndex INT, @EndIndex INT
 
      SET @StartIndex = 1
      IF SUBSTRING(@Input, LEN(@Input) - 1, LEN(@Input)) <> @Character
      BEGIN
            SET @Input = @Input + @Character
      END
 
      WHILE CHARINDEX(@Character, @Input) > 0
      BEGIN
            SET @EndIndex = CHARINDEX(@Character, @Input)
           
            INSERT INTO @Output(Item)
            SELECT SUBSTRING(@Input, @StartIndex, @EndIndex - 1)
           
            SET @Input = SUBSTRING(@Input, @EndIndex + 1, LEN(@Input))
      END
 
      RETURN
END
GO

-- Create a temporary table to insert tags
create #tblTemp
(
Id identity (1,1),
tag nvarchar(50)
)

-- Inserting into tmpTable
insert into #tblTemp (temp) values 
SELECT Item FROM dbo.SplitText('ASP.NET,C#.NET,ADO.NET,JavaScript', ',')  
-- Seperated by Comma(,). Place any thing according to you.

Execute your SQL batch query to inserting the tags into table.

Print Page in landscape mode in HTML CSS print media

Hi every one, today's topic is to print a HTML page into landscape mode. When we print a HTML page it takes by default portrait mode. But if we have to print it into landscape mode how to do it?

To do this s following...



Create a new HTML page and put the above code in head section.
Page 1
Page 2
Page 3
Page 4

Try it yours.

Output :
Landscape Print

Printing Page size in A4 using CSS Paged media

When ever you are sizing a div in your HTML page you size it with width and height in style sheet. Suppose whenever you have to print that div into A4 page size will it work properly? Not necessary it will print in the same size. So what to do? Simple put the div size into A4. But question is HOW? Let me clarify you.

Create a new HTML page and write create a div within body.

Page 1
Page 2
Page 3
Page 4
Now check the CSS once.
    body {
        margin: 0;
        padding: 0;
        background-color: #FAFAFA;
        font: 12pt;
    }
    * {
        box-sizing: border-box;
        -moz-box-sizing: border-box;
    }
    .page {
        width: 21cm;
        min-height: 29.7cm;
        padding: 2cm;
        margin: 1cm auto;
        border: 1px #000 solid;
        border-radius: 5px;
        background: white;
        box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    }
    .subpage {
        padding: 1cm;
        border: 5px black solid;
        height: 237mm;
        outline: 2cm #000 solid;
    }
    
    @page {
        size: A4;
        margin: 0;
    }
    @media print {
        .page {
            margin: 0;
            border: initial;
            border-radius: initial;
            width: initial;
            min-height: initial;
            box-shadow: initial;
            background: initial;
            page-break-after: always;
        }
    }

View your page into browser and press Ctrl + P to check whether its diving the page according the size of A4 or not. I am sure it will work 100%. 

Friday, September 12, 2014

Ajax Control toolkit ModalPopUp in ASP.NET C#

Here I am going to show how to create a modal pop up using AJAX control toolkit in ASP.NET and C#. Before I have show how to create a pop up using JQuery and CSS, but now its pure asp. For this you need to add AJAX Control toolkit into your project. You can download as per your version of .NET (3.5,4.0,4.5).
After downloading create a project and add the reference of the AJAX Control Toolkit into your project.

Now your visual studio is ready to begin with AJAX Control Toolkit. Add a new Web Form. In the tool Box you will get the control ModalPopupExtender within AJAX Control Toolkit.

Lets first see how to set a ModalPopup to show any message. Check the following code.


AJAX Modal Popup

Here is the content which you wan to show

Run this example and on the button click you will get a pop up showing in your browser.

Lets move to an example where you will get an message showing with data from back end. Add another page and check following code.


In the CS page write down the following code.
protected void btnClick_Click(object sender, EventArgs e)
{
 /* get data from DB */
 lblusername.Text = TextBox1.Text;
 this.ModalPopupExtender1.Show();
}

Output :
Direct Message showing

Message from code behind


I hope its clear how to create popup and how to show message or show message from code behind. For further download the full source code here.

Popular Posts

Pageviews