Solved

ASP.Net/c#: Using Query string in Gridview paging

Posted on 2008-06-12
12
8,097 Views
Last Modified: 2013-12-17
I want to use Query string  in Grid view paging. So when moving from one page to another, I want  to pass the input parameters from  Query string to the datasoure instead of passing it directly from the text box.
<tr>

		<td class="copycontact">First Name:</td>

		<td>

		 <asp:TextBox ID="txtFirstName" runat="server" TabIndex="1" MaxLength="20" /><asp:Label ID="Req1" runat="server" CssClass="Required" Text="*" />

		 <asp:RequiredFieldValidator      CssClass="rfv" ID="vldFirstNameReq" runat="server" ControlToValidate="txtFirstName" ErrorMessage="First Name is required." Display="None" />

		 <asp:RegularExpressionValidator  CssClass="rfv" ID="vldFirstNameReqEx" runat="server" ControlToValidate="txtFirstName" ErrorMessage="Invalid First Name Format." ValidationExpression="^[a-zA-Z.\s]{2,20}$" Display="None" />

		</td>

	   </tr>

	   <tr>

		<td class="copycontact">Last Name:</td>

		<td>

		 <asp:TextBox ID="txtLastName" runat="server" TabIndex="2" MaxLength="30" /><asp:Label ID="Req2" runat="server" CssClass="Required" Text="*"/>

		 <asp:RequiredFieldValidator CssClass="rfv" ID="vldLastNameReq" runat="server" ControlToValidate="txtLastName" ErrorMessage="Last Name is required." Display="None" />

		 <asp:RegularExpressionValidator  CssClass="rfv" ID="vldLastNameReqEx" runat="server" ControlToValidate="txtLastName" ErrorMessage="Invalid Last Name Format." ValidationExpression="^[a-zA-Z-'.\s]{2,30}$" Display="None" />

		</td>

	   </tr>
 

<table width="563" border="0" cellpadding="0" cellspacing="0">

	   <tr>

		<td colspan="2">

		 <asp:GridView ID="grdFindMembers"

			 runat="server"

			 AutoGenerateColumns="False"

			 AllowPaging="True"

			 AllowSorting="True"

			 EnableViewState="False"

			 PageSize="15"

			 Width="500px"

			 OnSorting="gridView_Sorting"

			 OnPageIndexChanging="grdFindMembers_PageIndexChanging"

			 EmptyDataText="There are no members matching this search criteria.">

		  <Columns>

		   <asp:HyperLinkField HeaderText="First Name" SortExpression="FirstName" DataTextField="FirstName" DataNavigateUrlFields="IPCode"

			   NavigateUrl="~/member/AccountSummary.aspx" DataNavigateUrlFormatString="~/member/AccountSummary.aspx?MemberID={0}" />

		   <asp:HyperLinkField HeaderText="Last Name" SortExpression="LastName" DataTextField="LastName" DataNavigateUrlFields="IPCode"

			   NavigateUrl="~/member/AccountSummary.aspx" DataNavigateUrlFormatString="~/member/AccountSummary.aspx?MemberID={0}" />

		   <asp:HyperLinkField HeaderText="ZipCode" SortExpression="ZipCode" DataTextField="ZipCode" DataNavigateUrlFields="IPCode"

			   NavigateUrl="~/member/AccountSummary.aspx" DataNavigateUrlFormatString="~/member/AccountSummary.aspx?MemberID={0}" />

		   <asp:HyperLinkField HeaderText="E-Mail" SortExpression="Email" DataTextField="Email" DataNavigateUrlFields="IPCode"

			   NavigateUrl="~/member/AccountSummary.aspx" DataNavigateUrlFormatString="~/member/AccountSummary.aspx?MemberID={0}" />

		  </Columns>

		  <PagerSettings Position="Top" />

		 </asp:GridView>

		 &nbsp;

		 <asp:Label ID="lblHiddenText" runat="server" EnableViewState="False"></asp:Label>

		</td>

	   </tr>

	  </table>

Open in new window

0
Comment
Question by:meinhoona
  • 6
  • 5
12 Comments
 

Author Comment

by:meinhoona
ID: 21773225
I hav edoubled the points.........
0
 
LVL 6

Expert Comment

by:cottsak
ID: 21775080
i would suggest not to try and do this. too many controls manage paging without you having to develop the functionality. try another grid, like Telerik's RadGrid - http://www.telerik.com/products/aspnet-ajax/controls/grid/overview.aspx
0
 
LVL 5

Expert Comment

by:rendaduiyan
ID: 21777130
if your datagrid(I think you should have) is binding to a datasource, you can add a parameter in your SQL, e.g:
SelectCommand="SELECT * FROM [table] WHERE (platform7alarm.agentIP = @agent_ip) ">
            <SelectParameters>
                <asp:QueryStringParameter Name="agent_ip" QueryStringField="agent_ip" />
            </SelectParameters>

In the example, a parameter agent_ip is defined, and the value is from QueryString.
Good luck.
0
 

Author Comment

by:meinhoona
ID: 21780703
rendaduiyan:
I am passing input parameters to my stored procedure in my c# code. How would I use input parameters then?
0
 

Author Comment

by:meinhoona
ID: 21782727
rendaduiyan:
I am passing input parameters to my stored procedure in my c# code. How would I use QueryString as input parameters then? Give me some sample
0
 
LVL 5

Expert Comment

by:rendaduiyan
ID: 21800100
I assumed you know how to declare a stored procedure in ADO.NET.
So here is it:
when you define a sqlcommand object, you can add parameters as needed:
command.CommandType = CommandType.StoredProcedure;

command.Parameters.Add("agent_ip",  this.Request["agent_ip"]);

...


0
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 

Author Comment

by:meinhoona
ID: 21826138
Its returning null value
string strFName = this.Request["strFN"];

Open in new window

0
 
LVL 5

Expert Comment

by:rendaduiyan
ID: 21843207
what's request URL? are your parameters in HTTP request correct?
pls show me your URL.
0
 
LVL 5

Expert Comment

by:rendaduiyan
ID: 21843213
sorry for the wrong guide. try this:
Request.Params["strFN"]
0
 

Author Comment

by:meinhoona
ID: 21851016
May be I am not clear enough., I am not using http request to pass variables to another page.

I just want to retain the value of my variable after the postback.
0
 
LVL 5

Expert Comment

by:rendaduiyan
ID: 21853247
let's make it clear.
in your first page, some button callback:

Response.Redirect(http://localhost/default1.aspx?strFN='str1")

and your IE you redirect to
http://localhost/default1.aspx?strFN='str1"

so in your default1.aspx cs codes,  e.g:
Page_Load(...)
{
     //you can print the request parameter out:
     this.Label1.text = Request.Params["strFN"];
}
0
 

Accepted Solution

by:
meinhoona earned 0 total points
ID: 21856588
No, I have  few text boxes acting as search criteria and populate the GridView. I want to retain these search criteria in temp variables so that when  I do pagination on the same  criteria, it would retrieve search criteria from the temp variables instead of the text boxes in order to maintain integrity of the data.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In my previous two articles we discussed Binary Serialization (http://www.experts-exchange.com/A_4362.html) and XML Serialization (http://www.experts-exchange.com/A_4425.html). In this article we will try to know more about SOAP (Simple Object Acces…
Wouldn’t it be nice if you could test whether an element is contained in an array by using a Contains method just like the one available on List objects? Wouldn’t it be good if you could write code like this? (CODE) In .NET 3.5, this is possible…
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.
Learn how to create flexible layouts using relative units in CSS.  New relative units added in CSS3 include vw(viewports width), vh(viewports height), vmin(minimum of viewports height and width), and vmax (maximum of viewports height and width).

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now