QueryString in asp.net
QueryString is an alternate and popular way to pass variables between web pages. A page can pass variables with values and another web page can retrieve the variables and their values. We can declare query string variables in an anchor element. We also can pass one variable or multiple variables at a time within an anchor element (HTML link).
To pass multiple variables using QueryString we need to use the '&' separator between variables. Each variable contains its value that we need to assign by an equal '=' sign. this is an example URL to pass variables using the query string.
http://www.asp.net/Image.aspx?ImageID=1&ImageName=Elephant
In the above example URL, we separated the original URL and QueryString by a question mark '?' separator. Then we declare a variable name ID and assign its value to 1 by using an equal '=' sign. We also added another variable name 'ImageName' and its value 'Elephant'. Here we separated and combined variables in QueryString using the '&' sign.
We can retrieve those QueryString variables on another page where the link navigates. In the above example URL we can read the query string variables in Image.aspx web page. The HttpRequest QueryString property gets the collection of HTTP query string variables. The following example code describes how can we read the above query string variables.
string ImageID = Request.QueryString["ID"];
string ImageFullName = Request.QueryString["ImageName"];
If the URL does not have an 'ImageName' QueryString variable then the return value would be null. if we want to use spaces and '&' in the query string we need to replace 'space' with %20 and '&' with %26.
The following asp.net c# example code demonstrates to us how can we use QueryString in an asp.net application.
QueryString.aspx
<%@ Page Language="C#" %>
<!DOCTYPE html>
<script runat="server">
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>asp.net QueryString example: how to use QueryString</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h2 style="color:Navy">QueryString Example</h2>
<asp:HyperLink
ID="HyperLink1"
runat="server"
NavigateUrl="~/Image.aspx?ImageID=1&ImageName=Elephant"
Text="Test QueryString"
>
</asp:HyperLink>
</div>
</form>
</body>
</html>
Image.aspx
<%@ Page Language="C#" %>
<!DOCTYPE html>
<script runat="server">
protected void Page_Load(object sender, System.EventArgs e) {
string ID = Request.QueryString["ImageID"];
string Name = Request.QueryString["ImageName"];
Label1.Text = "ImageID: "+ ID;
Label2.Text = "Image name: "+ Name;
Image1.ImageUrl = "~/Images/"+Name+".jpg";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>asp.net QueryString example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h2 style="color:Red">QueryString Example: Image View</h2>
<asp:Label
ID="Label1"
runat="server"
Font-Size="Large"
ForeColor="SeaGreen"
>
</asp:Label>
<br />
<asp:Label
ID="Label2"
runat="server"
Font-Size="Large"
ForeColor="SeaGreen"
>
</asp:Label>
<br />
<asp:Image ID="Image1" runat="server" />
</div>
</form>
</body>
</html>
