<asp:Literal ID="Name1" runat="server">Item Name</asp:Literal>
<asp:LinkButton runat="server" EnableViewState="false" Text='<%#Eval("Name1.Text")%>' />
なぜが空を返しますか?<%#Eval( "Name1.Text")%>が空です
ありがとうございました。
<asp:Literal ID="Name1" runat="server">Item Name</asp:Literal>
<asp:LinkButton runat="server" EnableViewState="false" Text='<%#Eval("Name1.Text")%>' />
なぜが空を返しますか?<%#Eval( "Name1.Text")%>が空です
ありがとうございました。
コマンドの引数として動的値を渡すことができる時間は、データバインドされたコントロールの中にあるときです。
スタンドアローンのコントロールの場合、コマンドの引数としてこれらの値を渡す必要はなく、単にClickイベントまたはOnCommandイベントの中で直接アクセスする必要はありません。
コントロールがDataBoundコントロールの内部にある場合、コードビハインドでCommand引数を設定できます。
コントロールが時間内にレンダリングされるとは思わない。
コードビハインドで行います。
protected void Page_Init(object sender, Eventargs e)
{
lnkButtonID.Text = Name1.Text;
lnkButtonID.CommandArgument = Name1.Text;
}
'PreInit'を使う方が良いです – abatishchev
実際、私の目的は、ImageButtonのCommandArgumentでLiteralのTextを渡すことです: – Jul
データバインドされたコントロールを評価することができます。 Page.DataBind
に電話すると、NamingContainerがすべてのコントロールを評価することができます。 たとえば、DataBind Gridviewの場合、GridRowsのコントロールを評価できます。
あなたは、データバインドしようとしているもののデータバインディングイベントを処理し、そのコンテキストで後続の変数を見てデバッグできます。多くの場合、デバッグモードで変数を調べると、問題の内容が非常に明白になります。 FACで
私はこれを行うにしたいと思います:
アイテム1はのHiddenFieldと名1リテラルれる<asp:ImageButton runat="server" ID="addToCartIMG" OnCommand="btnAdd_Click" EnableViewState="false" CommandArgument='<%# itemId1.Value + ";" + Name1.Text %>' ImageUrl="<%$Resources:MasterPage, Image_AddToCart%>" />
。
メソッドbtnAdd_Clickをデバッグすると、CommandEventArgsは空です。
ID> = Name1の後に余分な>があることに気づきましたか? – NotMe