我想这样做:
<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为空,我不明白为什么......
谢谢
答案 0 :(得分:1)
您无法像在示例中那样评估表单字段的值。如果您尝试评估的这些值是静态的,我的意思是不会因用户的操作而改变,您可以将它们静态地传递给按钮的CommandArgument属性。
如果用户的操作值正在改变,那么您应该通过控件的引用在服务器端获取它们:
string itemId = itemId1.Value;
// OR :
string itemId2 = Request.Forms["itemId1"];
对于LiteralControl,你无法获得它的文本。你应该把它变成元素。
Eval方法不是将控件的值动态传递给服务器的客户端函数。