【问题标题】:CommandArgument is empty命令参数为空
【发布时间】:2011-06-04 21:28:45
【问题描述】:

我想这样做:

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

谢谢

【问题讨论】:

    标签: asp.net commandargument


    【解决方案1】:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-16
      • 1970-01-01
      • 2019-06-11
      • 2015-04-12
      • 2015-07-29
      • 1970-01-01
      • 1970-01-01
      • 2011-04-21
      相关资源
      最近更新 更多