我正在尝试检查转发器中的字符串值,如果它有值,则写一个链接,但似乎无法让它工作.如果myUrl中有值,那么我想显示链接.
<%if( %> <%#Eval("myURL").ToString().Length > 0 %>
<a title="myTitle" target="_blank" href="<%# Eval("myURL") %>">my link</a>
<% } %>
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?
Mad*_*ela 29
试试这个代码!!!
<%#Eval("myURL").ToString().Length > 0 ?
"<a title='myTitle' target='_blank' href='<%# Eval("myURL") %>'>my link</a>":""%>
Run Code Online (Sandbox Code Playgroud)
Dav*_*ker 21
我个人讨厌在页面中使用条件逻辑.
我认为有两种选择更好.您可以在转发器中使用超链接控件 - 并根据myURL参数是否存在来设置可见性.
visibility='<% #Eval("myURL").ToString().Length > 0 %>'
Run Code Online (Sandbox Code Playgroud)
或者你可以做的是在你的代码背后有一个方法,你用"myURL"参数回调.
例如
public string CreateURL(string myURL){
if(!string.IsNullOrEmpty(myURL)){
return "<a ... ";
}
return string.Empty;
}
Run Code Online (Sandbox Code Playgroud)
并在ASPX中调用
<%# CreateURL(Eval("myURL").ToString()) %>
Run Code Online (Sandbox Code Playgroud)
注意这是未经测试的代码,但这是我通常做这种事情的方式.
我会使用String.Format并将HTML包含在字符串中.不可否认,这不是有史以来编写的最新代码,但在我看来,它是最好的选择:
例如,如果属性Url存在,则下面将输出锚标记,否则将输出span.
<%# string.Format(Eval("Url") != null ? "<a href=\"{0}\">{1}</a>" : "<span>{1}</span>", Eval("Url"), Eval("Text")) %>">
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
54398 次 |
最近记录: |