我有一个中继器,用于从复选框列表中的选定项目创建按钮。复选框列表是项目代码的列表。ASP C#中继器按钮不传递字符串到方法
这些按钮显示正确,并将项目代码作为文本。这样可行。
点击后,该按钮应该使用按钮的项目代码调用一个方法来调用一个将数据填充到页面的方法,但这不会发生。我相信按钮传递一个空值。
如何让中继器按钮单击以传递正确的值?该方法与常规文本框一起工作,但我无法使它与中继器按钮一起工作。
ASPX
` <div style="width: 98%; overflow-x: scroll;">
<asp:Repeater ID="rptItemButtons"
runat="server">
<ItemTemplate>
<asp:Button ID="btnItemButton"
runat="server"
Text='<%# Container.DataItem.ToString() %>'
CommandArgument='<%# Container.DataItem.ToString() %>'
CommandName="repeater_ItemCommand"
/>
</ItemTemplate>
</asp:Repeater>
</div>`
C#
public void repeater_ItemCommand(object sender, CommandEventArgs e)
{
SaveUserInputsAction();
SaveDataAction();
lblTestMessage.Text = e.CommandArgument.ToString();
GetItemDetails(e.CommandArgument.ToString()); GetCostFactors(e.CommandArgument.ToString());
}
我认为你需要使用'Container.ItemIndex'作为'CommandArgument'而不是'Container.DataItem' – VDWWD