我可以在下面的代码中传递if语句吗?如果没有,还有其他选择吗?
本文关键字:如果没有 选择 其他 语句 代码 在下面 if 我可以 | 更新日期: 2023-09-27 18:07:02
<%#String.Format("~/storefront.aspx?CatalogID={0}&ProductID={1}", Eval("CatalogID"), Eval("ProductID"))%>
我想做的是:
NavigateUrl='<%#String.Format("~/storefront.aspx?CatalogID={0}&ProductID={1}",Eval("CatalogID"), (Eval("CatalogID")=="856" ? Eval("ProductID") : Eval("CustItem")))%>
我正试图从页面链接回项目…除目录号856项外,我已为所有项目办理了上述手续。目录id =856&ProductID=AVE05418这个例子是一个从目录856,问题是,是在url中传递的ProductID实际上是一个名为CustItem的变量,所以我试图传递CustItem在ProductID的地方当目录是856
Thank you
您可以尝试这样做:
Eval("CatalogID") == 856 ? Eval("CustItem") : Eval("ProductID")
编辑
NavigateUrl='<%#String.Format("~/storefront.aspx?CatalogID={0}&ProductID={1}",Eval("CatalogID"), (Eval("CatalogID").ToString() == "856" ? Eval("CustItem") : Eval("ProductID")))%>'
可以使用三元操作符
Eval((CatalogID==856) ? "CustItem" : "ProductID")
比这更好的方法是修复那些进入数据库的坏数据,这样你就可以从一开始就避免这种丑陋。
谁能建议如何处理给定的情况?
我会在数据库层修复它。数据完全错了。
如果你必须破解它,不要改变任何可见的外部服务器(例如一个web服务接口或URL)。否则,有人可能会利用你的变通来破坏你的数据。
允许Eval
在你的URL只是乞求问题。