这是我的.aspx页面
<asp:ListView ID="ListViewGSMatches" runat="server" SelectMethod="ListViewGSMatches_GetData" DataKeyNames="id" UpdateMethod="ListViewGSMatches_UpdateData">
<LayoutTemplate>
.
.
.
</LayoutTemplate>
<ItemTemplate>
.
.
.
</ItemTemplate>
<EditItemTemplate>
<asp:ListView ID="ListViewPlayerStatisticsHome" runat="server" DataSource='<%# GetPlayerStatistics(Eval("participant1Id"), Eval("id"))%>' DataKeyNames="id" OnItemCommand="ListViewPlayerStatisticsHome_OnItemCommand">
<LayoutTemplate>
<span>Off. Statistics</span>
<asp:TextBox runat="server" ID="TxbOffensiveStatistics"></asp:TextBox>
<span>Def. Statistics</span>
<asp:TextBox runat="server" ID="TxbDefensiveStatistics"></asp:TextBox>
<asp:Button runat="server" Text="Update" ID="UpdateButton" CommandName="UpdateStatistics" CommandArgument='<%# Eval("matchId") + "/2" %>' ClientIDMode="Static" />
</LayoutTemplate>
<ItemTemplate>
.
.
.
</ItemTemplate>
</asp:ListView>
</EditItemTemplate>
</asp:ListView>
这是.cs文件
protected void ListViewPlayerStatisticsHome_OnItemCommand(object sender, ListViewCommandEventArgs e)
{
var ca = e.CommandArgument;
var cn = e.CommandName;
}
我的问题是使用CommandArgument='<%# Eval("matchId") + "/2" %>'
时CommandArgument是空字符串。当我像这样设置CommandArgument:CommandArgument="1"
时,我可以在后面的代码中访问CommandArgument。
我也试过onCLick事件,但是再次使用数据绑定表达式时CommandArgument是空的。
在这种情况下,为什么数据绑定对我不起作用?是因为嵌套的ListView吗?(我发现很多使用数据绑定表达式来设置commandArgument的例子)
块引用