我剝離了這個例子來簡化它。我有一個模板字段的網格視圖。模板字段包含兩個按鈕和一個標籤(它們必須位於相同的模板字段中)。我想要第一個按鈕將標籤文本設置爲「贏」,另一個按鈕將標籤文本設置爲「失敗」。 onrowcommand似乎不是由模板字段中的按鈕觸發的。我怎樣才能做到這一點?在GridView中,如何將多個命令添加到一個項目模板?
我的GridView的代碼如下:
<asp:GridView ID="GridView1" runat="server" EnableModelValidation="True" AutoGenerateColumns="False"
OnRowCommand="Gridview1_RowCommand">
<Columns>
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:Button ID="btnWin" runat="server" CommandName="Win" Text="Win" />
<asp:Button ID="btnFail" runat="server" CommandName="Fail" Text="Fail" />
<asp:Label ID="lblStatus" runat="server" Text='<%# Bind("text") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
和我的代碼背後:提前
protected void Page_Load(object sender, EventArgs e)
{
DataTable myTable = new DataTable();
myTable.Columns.Add("text", typeof(string));
myTable.Rows.Add("First Entry");
myTable.Rows.Add("Second Entry");
GridView1.DataSource = myTable;
GridView1.DataBind();
}
public void Gridview1_RowCommand(Object sender, GridViewCommandEventArgs e)
{
//set lblStatus.text to "Win", or "Fail"
}
謝謝!
謝謝!偉大的作品! – Starwfanatic 2011-02-09 22:10:04