私はこの例を簡単にするために取り除きました。私はテンプレートフィールドを持つgridviewを持っています。テンプレートフィールドには2つのボタンとラベルがあります(これらは同じテンプレートフィールドになければなりません)。最初のボタンでラベルテキストを "Win"に設定し、もう一方のボタンでラベルテキストを "失敗"に設定します。 onrowcommandは、テンプレートフィールドのボタンによってトリガーされないようです。どうすればこれを達成できますか?GridViewでは、1つのアイテムテンプレートに複数のコマンドを追加する方法は?
私の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