なんらかの理由で、コード container.DateItemIndex で値が返されません。
これが私のasp.netです:
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
<form id="form1" runat="server">
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AutoGenerateColumns="False" DataKeyNames="ID" DataSourceID="SqlDataSource1"
EnableModelValidation="True" onrowcommand="GridView1_RowCommand" OnRowUpdating="GridView1_RowUpdating" >
<Columns>
<asp:CommandField ShowEditButton="True" ControlStyle-CssClass="savefile"/>
<asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False"
ReadOnly="True" SortExpression="ID" />
<asp:BoundField DataField="event_name" HeaderText="event_name"
SortExpression="event_name" />
<asp:TemplateField HeaderText="PDF">
<ItemTemplate>
<asp:Button ID="Button1" CommandArgument='<%# Container.DataItemIndex %>' CommandName="DownloadFile" runat="server" Text="Button" />
</ItemTemplate>
<EditItemTemplate>
<asp:FileUpload ID="FileUpload1" runat="server" /> // shown only in edit mode
</EditItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</form>
そして私のC#コード:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "DownloadFile")
{
Label1.Text = e.CommandArgument.ToString();
}
}
CommandArgument='<%# Container.DataItemIndex %>' から値を取得できないのはなぜですか