【问题标题】:Passing multiple command arguments in an ImageButton control?在 ImageButton 控件中传递多个命令参数?
【发布时间】:2011-03-11 14:26:01
【问题描述】:

我正在设计一种分层系统,如下:

合同
大宗商品
商品
子商品
部分

每一个都在自己的页面上(目前)。用户从 Contract.aspx 页面开始。如果他们想查看他们当前使用的合约的主商品,他们将单击我设置的“ImageButton”,并将 ContractID (CommandArgument='<%# Eval("ContractID")%>') 作为命令参数传入。这很好用——我进入我的主商品页面,主商品在我传入的 ContractID 上过滤。

这是我的问题:从 Master Commodity 页面导航到 Commodity 页面将(我认为)需要传入 ContractID(所以我们只看到我们正在使用的合约的内容)和 Master Commodity ID(所以我们只需查看与主商品相关的商品)。我尝试了以下方法:

CommandArgument='<%# Eval("ContractID") + ',' + Eval("MComID")%>',但正如您所料,这行不通。如果我可以像上面那样做一些事情并且有一个像逗号这样的分隔符,我可以从那里开始让它工作。有什么建议吗???

【问题讨论】:

  • “这不起作用”通常表示您的问题记录不充分,需要更多详细信息。
  • 嗯,我只是在寻找任何替代解决方案来解决我所面临的问题。我想我清楚地描述了我的目标和意图,但我尝试过的没有奏效。无论如何,我回答了我自己的问题。
  • 通常情况下,如果您将汽车送去维修中心并告诉他们您的右侧指示灯从不闪烁,那么维修比您只告诉他们“我的车坏了”要容易得多。我认为the same should apply for software related error descriptions.

标签: c# asp.net forms imagebutton


【解决方案1】:

迈克,

借用您自己建议的解决方案,您可以保留您的 ImageButton 并使用以下内容:

<%# string.Format("{0},{1}",Eval("value1"),Eval("value2"))%>

当天晚些时候,但认为值得为关注此线程的其他人发表评论。

保罗。

【讨论】:

    【解决方案2】:

    我决定将我的 ImageButton 更改为“a href...”并将其用作我的 href:

    <%# string.Format("./Commodity.aspx?contractId={0}&MComID={1}, Eval("ContractId"), Eval("MComID"))%>
    

    这样我就可以传递我需要的所有信息。

    【讨论】:

      【解决方案3】:

      建议在您的代码中包含一个方法,该方法返回格式正确的字符串

      internal static string GetFormattedString(string sContractID, string sMcomID){
        return String.Format("{0},{1}", sContractID , sMcomID);
      }

      然后你可以Eval 这个函数在你的控制之下。这样你就可以在你的代码中保留格式化的逻辑,并且只需要在那里修改它。如果信息在前端代码的不同控件(链接)中使用,这是一个很好的做法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-03-10
        • 2020-08-06
        • 2013-03-20
        • 1970-01-01
        • 2012-11-27
        • 2016-05-13
        • 2015-04-11
        • 1970-01-01
        相关资源
        最近更新 更多