CommandArgument为空

时间:2011-01-06 20:07:16

标签: asp.net commandargument

我想这样做:

<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时,CommandEventArgs为空,我不明白为什么......

谢谢

1 个答案:

答案 0 :(得分:1)

您无法像在示例中那样评估表单字段的值。如果您尝试评估的这些值是静态的,我的意思是不会因用户的操作而改变,您可以将它们静态地传递给按钮的CommandArgument属性。

如果用户的操作值正在改变,那么您应该通过控件的引用在服务器端获取它们:

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

对于LiteralControl,你无法获得它的文本。你应该把它变成元素。

Eval方法不是将控件的值动态传递给服务器的客户端函数。