<a href='<%#Eval("information_zh") %> ?"../print.aspx?transportid=<%#Eval("transport_id") %>":"../Chinese/ZH_DNAprint.aspx?transportid=<%#Eval("transport_id") %>"'>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("information_batch") %>'></asp:Label>
</a>
大家看看我这个哪里写错了
aspx C#.net 的页面 三目运算怎么使用
答案:4 悬赏:50 手机版
解决时间 2021-03-01 15:08
- 提问者网友:温旧梦泪无声
- 2021-02-28 19:31
最佳答案
- 五星知识达人网友:孤老序
- 2021-02-28 20:06
不知道你这个Eval("information_zh") 是个什么类型的数据 我就把他当作Bool类型来用把
<a href="<%# bool.Parse(Eval("information_zh").ToString()) ? "../print.aspx?transportid=" + Eval("transport_id") + "" : "../Chinese/ZH_DNAprint.aspx?transportid=" + Eval("transport_id") + ""%>"><asp:Label ID="Label1" runat="server" Text='<%# Eval("information_batch") %>'></asp:Label></a>
<%%> 里面可以写多个Eval() 函数 不用在一个里面 写多个! 见笑了
<a href="<%# bool.Parse(Eval("information_zh").ToString()) ? "../print.aspx?transportid=" + Eval("transport_id") + "" : "../Chinese/ZH_DNAprint.aspx?transportid=" + Eval("transport_id") + ""%>"><asp:Label ID="Label1" runat="server" Text='<%# Eval("information_batch") %>'></asp:Label></a>
<%%> 里面可以写多个Eval() 函数 不用在一个里面 写多个! 见笑了
全部回答
- 1楼网友:千夜
- 2021-02-28 21:53
href='<%#(bool)Eval("information_zh")?"../print.aspx?transportid="+Eval("transport_id"):"../chinese/zh_dnaprint.aspx?transportid="+Eval("transport_id")%>' 不知道information_zh是什么类型,先假设为bool型
- 2楼网友:刀戟声无边
- 2021-02-28 20:59
原因同楼上,而且你的三目运算符已经太长了。dr["news_title"].tostring()重复出现了3次,你该用变量存储它了。
另外,你这个逻辑有问题,大于18个字符取全部,如果不满18个字符,则取18个字符以下的内容。你自己再琢磨一下,我认为你是写反了。
反过来的话,你也可以不用三目运算符。直接取substring(0, 18)就行了。
- 3楼网友:怙棘
- 2021-02-28 20:33
这种逻辑你应该写在后台的。在后台逻辑判断完后,直接在前台显示变量的值。
?:属于C#的东西,你写在了html中肯定不行的,格式是这样的
布尔表达式?true的值:false的值。
比如 string url= "ssss";
string showUrl = string.IsNullOrEmpty(url) ? "wwwww" : url ;
表示如果 url 为空或者为null,则 showUrl 为 "wwwww" ,反之, showUrl 为 url 的值。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯