在ImageButton控件中传递多个命令参数?

时间:2011-03-11 14:26:02

标签: c# asp.net forms imagebutton

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

合同
商品大师
商品
分商品
部分

其中每一个都在他们自己的页面上(现在)。用户从Contract.aspx页面开始。如果他们想要查看他们目前所在合同的主商品,他们将点击我设置的“ImageButton”,并作为命令参数传递ContractID(CommandArgument='<%# Eval("ContractID")%>')。这很有效 - 我进入了我的Master Commodity页面,主要商品已经过了我传入的ContractID。

这是我的问题:从Master Commodity页面导航到Commodity页面将(我认为)需要传递ContractID(所以我们只能查看我们正在进行的合同的内容),以及Master Commodity ID(所以我们只能看到与大宗商品有关的商品)。我尝试了以下内容:

CommandArgument='<%# Eval("ContractID") + ',' + Eval("MComID")%>',但正如您可能预期的那样,这不起作用。如果我可以像上面那样做一些像逗号一样的分隔符,我可以从那里开始使其工作。任何建议???

3 个答案:

答案 0 :(得分:2)

麦克,

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

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

当天晚些时候,但是在这个帖子之后,我认为值得为其他人发表评论。

保罗。

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

建议在你的代码后面有一个方法,它返回一个格式良好的字符串

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

然后您可以在控件中Eval使用此功能。这样你就可以在代码中保留格式化逻辑,只需在那里修改它。如果在前端代码的不同控件(链接)中使用该信息,这是一种很好的做法。