将命令和身份标识(int)传递回ASP.NET后面的代码的正确方法是什么?我正在查看CommandName和CommandArgument。我读错了,但我认为CommandArgument传回显示索引。这有什么帮助?GridView ASP.NET - 将命令和ID传递给代码隐藏
无法弄清楚如何将CommandArugment设置为我需要的ID。
将命令和身份标识(int)传递回ASP.NET后面的代码的正确方法是什么?我正在查看CommandName和CommandArgument。我读错了,但我认为CommandArgument传回显示索引。这有什么帮助?GridView ASP.NET - 将命令和ID传递给代码隐藏
无法弄清楚如何将CommandArugment设置为我需要的ID。
设置的CommandName并在GridView CommandArgument领域,那么你可以在代码中访问这些值后面。
所以假设你在每一行都有一个图像按钮,并且当用户选择你想要访问该行的命令名和参数的按钮时。
<asp:GridView ID="gvwRecords" runat="server" DataKeyNames="ID" DataSourceID="objRecords" OnRowCommand="gvwRecords_RowCommand">
<Columns>
<asp:TemplateField HeaderImageUrl="~/Images/Approve_Header_Dark.gif">
<ItemTemplate>
<asp:ImageButton runat="server" ID="btnApprove" %>'
CausesValidation="false" AlternateText="Approve record" ImageUrl="~/Images/Unapproved.gif"
CommandName="Approve" CommandArgument='<%# Eval("ID") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
在后面的代码:
protected void gvwRecords_RowCommand(object sender, GridViewCommandEventArgs e)
{
int recordID = int.Parse(e.CommandArgument.ToString());
if (recordID > 0)
{
switch (e.CommandName.ToLower())
{
case "sort":
break;
case "approve":
Record.ApproveRecord(recordID);
gvwRecords.DataBind();
break;
...
}
}
}
您可以获取与该索引关联的DataItem,并从中获取您需要的任何值。 这里是显示出一些方法可以做到这一个linik ...
良好的信息。我也喜欢这种方法。 +1 – BuddyJoe 2010-01-29 19:28:28