簡単にするために、この例を削除しました。テンプレート フィールドを持つグリッドビューがあります。テンプレート フィールドには、2 つのボタンと 1 つのラベルが含まれています (これらは同じテンプレート フィールドにある必要があります)。最初のボタンでラベル テキストを「勝利」に設定し、もう 1 つのボタンでラベル テキストを「失敗」に設定します。onrowcommand は、テンプレート フィールドのボタンによってトリガーされないようです。どうすればこれを達成できますか?
私のグリッドビューコードは以下の通りです:
<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"
}
前もって感謝します!