这是一个简单的问题,但我有一个带有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>
答案 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");
}