Link to home
Start Free TrialLog in
Avatar of smitty68521
smitty68521Flag for United States of America

asked on

Pass values from gridview to another page

I have a gridview on a membership page that has a "select" button. However, I don't want this to be the normal select that the gridview has. I want it to do a response.redirect to another page and fill another gridview there.  In short, my question is how do I perform a querystring based on what row is selected in the gridview?
Avatar of Anurag Thakur
Anurag Thakur
Flag of India image

what needs to be done is that when you select the grid view row you handle the select on the same page (page having the grid view) in a suitable event (RowCommand event). In the row command event you can get the values from the grid view selected row and then create the query string and the redirect your page to the new page where you can retrieve the values from the query string and take actions accordingly
ASKER CERTIFIED SOLUTION
Avatar of spiderexpa
spiderexpa
Flag of India image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of smitty68521

ASKER

Would it start out like this:

GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.SelectedIndexChanged?

I would add my code here for the server.transfer?
This is what I have tried so far:

1st page with the datagrid

Protected Sub GridView1_SelectedIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewSelectEventArgs) Handles GridView1.SelectedIndexChanging
        Context.Items.Add("ID", SqlDataSource2.ID)
        Server.Transfer("editproperty.aspx")

    End Sub

second page:

Label1.Text = Context.Items("ID")

When I run this, I click on the "select" button and get a windows authentication that comes up asking for a username/password.  Like it is wanting it to access the database.  I suppose I should have added this sooner.
No need to add/update GridView1_SelectedindexChanging  anything else in code behind for this issue. No need to use Server.Tranfer/ Response.Redirect.



Just add a hyperLinkFiled at the last column of the gridview as follows:->

<asp:HyperLinkField Text="Select" DataNavigateUrlFields="FIELDNAME1,FIELDNAME2" DataNavigateUrlFormatString="~/PAGENAME.aspx?QUERYSTRING1={0}&QUERYSTRING2={1}"/>

Here

1. FIELDNAME1, FIELDNAME2,... are the Field names from the database OR Alias used.
2. PAGENAME.aspx is the page where you want to re-direct.
3. QUERYSTRING1, QUERYSTRING2,.... are the corresponding Querystring names.
I done as you told me:

Hyperlink
DatanavigateUrlfield= "ID"
DatanavigateUrlFormatString = "editproperty.aspx?value = {ID}

On the next page I have in the gridview datasource I have the control Label1.text set to the querystring {ID}

When I run the application I get the following error:

Input string was not in a correct format
Replace value = {ID} with value = {0}
Thanks. Right after I sent that, I realized what I was doing.
Awesome expert