我有一箇中繼器,用於從複選框列表中的選定項目創建按鈕。複選框列表是項目代碼的列表。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