如何将Gridview Cell值转换为另一页面上相应的文本框值?

时间:2016-06-27 15:30:57

标签: c# asp.net session gridview

这是一个简单的问题,但我有一个带有Boundfields的网格视图,用于ID,名称和工资。我有一个项目模板字段,将用户带到另一个带有文本框的页面。我想要它,以便当用户单击要更新的超链接时,它们将被引导到一个页面,其中的文本框预设为gridview中特定行的值,以便用户可以编辑和更新。

        protected void lnkEditUpdate_Click(object sender, EventArgs e)
    {
        foreach (GridViewRow row in gvEmployee.Rows)
        {
            Employee newe = new Employee();
            newe.ID = int.Parse(((BoundField)row.FindControl("txtID")).Text);
            newe.Name = ((BoundField)row.FindControl("lblName")).Text;
            newe.Salary = ((BoundField)row.FindControl("Salary")).Text;

            Session["Update"] = newEmployee;
        }
        Response.Redirect("~/EditUpdateEmployee.aspx");
    }

的.aspx

    <asp:GridView ID="gvEmployee" runat="server" AutoGenerateColumns="False" ShowFooter="True" DataKeyNames="ID" CellPadding="4" ForeColor="#333333" GridLines="None"
     DataSourceID="EmployeeSQL" >
    <AlternatingRowStyle BackColor="White" />
    <Columns>
                    <asp:TemplateField>
            <ItemTemplate>
                <asp:LinkButton ID="lnkEditUpdate" runat="server" Text="Edit/Update" OnClick="lnkEditUpdate_Click" />
            </ItemTemplate>
        </asp:TemplateField>
        <asp:BoundField DataField="ID" HeaderText="NetID" ReadOnly="True" SortExpression="ID" />
        <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
        <asp:BoundField DataField="Salary" HeaderText="Salary" SortExpression="Salary" />
        <asp:TemplateField>

2 个答案:

答案 0 :(得分:0)

在按钮

中使用网格视图属性的命令参数
CommandArgument='<%# Eval("Column Name") %>' //this is for aspx   

然后在代码后面调用它

Response.write(e.commandargyment)//this is for aspx.cs   

有关详细信息,请观看本教程Click here

之后使用查询字符串希望这对你有帮助。

答案 1 :(得分:0)

要进行编辑,您可以使用Gridview的编辑功能。如果您的要求是重定向到包含所有细节的页面(由您编码),那么不要遍历gridview,而只获取单击链接按钮的特定行:

 protected void lnkEditUpdate_Click(object sender, EventArgs e)
        {
           LinkButton linkEdit =  (LinkButton)sender; // Point the particular row LinkButton clicked
           GridViewRow row = (GridViewRow)linkEdit.NameingContainer;// Fetch the Row
           Employee newe = new Employee();
           newe.ID = int.Parse((gvEmployee.Rows[row.RowIndex].Cells[1]).Text);
           newe.Name = (gvEmployee.Rows[row.RowIndex].Cells[2]).Text;
           newe.Salary = (gvEmployee.Rows[row.RowIndex].Cells[3]).Text;
           Session["Update"] = newe;
           Response.Redirect("~/EditUpdateEmployee.aspx");
        }