質問

これをやりたい:

<asp:ImageButton runat="server" ID="addToCartIMG" OnCommand="btnAdd_Click" EnableViewState="false" CommandArgument='<%# itemId1.Value + ";" + Name1.Text %>' ImageUrl="<%$Resources:MasterPage, Image_AddToCart%>" />

Item1がHiddenfield、Name1が文字通りです。

メソッドbtnadd_clickをデバッグすると、commandventargsは空ですが、理由がわかりません...

ありがとうございました

役に立ちましたか?

解決

例のように、フォームフィールドの値を評価することはできません。評価しようとするこれらの値が静的である場合、ユーザーのアクションによって変更されないことを意味します。ボタンのCommandArgumentプロパティに静的に渡すことができます。

ユーザーのアクションによって値が変化している場合は、そのようなコントロールを参照して、サーバー側でそれらを取得する必要があります。

string itemId = itemId1.Value;
// OR : 
string itemId2 =  Request.Forms["itemId1"];

LiteralControlの場合、テキストを取得できません。要素を形成するためにそれを回す必要があります。

評価方法は、コントロールの値をサーバーに動的に渡すクライアント側の関数ではありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top