ネストされたリピーターがあるため、コード内のコントロールが表示されないため、FindControl を使用してコントロールを表示する必要があることがわかりました。ボタンクリック後にラベルから値を渡したいのですが、正しく取得するのに苦労しています
値を持つラベル
<asp:Label ID="lblordernr" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.sid").ToString()%>'></asp:Label>
私が使用するボタン:
<asp:Button ID="btnPaid" runat="server" Text="Paid" OnClick="rlrtAdres_ItemDataBound"
Style="height: 26px" CssClass="knop" CommandName="btnPaid" />
RepeaterItemDataBoundName
protected void rlrtAdres_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
Label lblordernr = e.Item.FindControl("lblordernr") as Label;
Repeater myRepeater = (Repeater)sender;
Button btn = (Button)sender;
switch (btn.CommandName)
{
case "btnPaid":
MutateSold("paid", lblordernr.Text);
break;
}
}
私は最初に通常のbuttonOclickコントロールを持っていましたが、それをラベル値と組み合わせて、ネストされたリピーターとこのリピーターのすべての非表示コントロールを使用してデータベースの目的で最終メソッド「MutateSold」を呼び出す方法がわかりません
protected void btnButton_Click(object sender, EventArgs e)
{
Control myControllblordernr = FindControl("lblordernr");
Button btn = (Button)sender;
switch (btn.CommandName)
{
case "btnPaid":
MutateSold("paid", myControllblordernr.ToString());
break;
}
}