如何从gridview编辑事件重定向到另一个页面

本文关键字:另一个 重定向 事件 gridview 编辑 | 更新日期: 2023-09-27 18:29:40

我不知道我是否使用了好的方法
我有一个带有gridview的查看页面和编辑页面
在网格视图中,我添加了:

...
<Columns>
        <asp:CommandField ShowEditButton="True" ShowDeleteButton="true"></asp:CommandField>
...

事件:

OnRowEditing="rgrContact_RowEditing"

我尝试添加的事件方法:

protected void rgrContact_RowEditing(object sender, GridViewEditEventArgs e)
        {
            var id = (int)rgrContact.DataKeys[e.RowIndex].Value; 
            Response.Redirect("..." + id);

但没有CCD_ 2
如何获取所选行的ID,以便将其传递到编辑页面
我用的是好的活动吗?

如何从gridview编辑事件重定向到另一个页面

试试这个:

NewEditIndex返回单击编辑的行的索引

protected void rgrContact_RowEditing(object sender, GridViewEditEventArgs e)
        {
            var id = (int)rgrContact.DataKeys[e.NewEditIndex].Value; 
            Response.Redirect("MyEditPage.aspx?MyID=" + id);

编辑:

DataKeyNames="DataKey1,DataKey2"

你可以像这样使用

string DataKey1= rgrContact.DataKeys[e.NewEditIndex].Values[0].ToString();
string DataKey2= rgrContact.DataKeys[e.NewEditIndex].Values[1].ToString();

rgrContact.DataKeys[e.NewEditIndex].Values["DataKey1"];
rgrContact.DataKeys[e.NewEditIndex].Values["DataKey2"];

正如其他人所说,不需要使用你所说的另一种解决方案:

 <ItemTemplate>
  <asp:HyperLink ID="hyper" Text="this is link"
   NavigateUrl= '<%# String.Format("{0}","MYpage.aspx?id=" + Eval("MY_ID_COL")) %>' runat="server" /> 
   </ItemTemplate>