將命令和身份標識(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