- 百度百科快速升级
- 品牌企业网站建设的3个关键关键点
- windows下4种mysql 修改 root 密码的方法
- SEO如何优化好网站?SEO有哪些优化网站的方法?
- 怎么制定详尽的SEO计划
- 小程序隐私指引填写范本
- SEO网站优化的四大法宝.
- 网站地图及制作方法
- 无法启用iis express web服务器
- aspx 页面与ascx用户控件的传值
邮箱:
手机:15383239821
ASP.NET中使用Eval()函数绑定数据时,不能使用IF进行逻辑判断的解决方案
很多次,我在使用ASP.NET数据绑定控件中绑定数据时 使用if语句进行逻辑判断!但是肯定那是失败了!没有办法,既然遇到了这个棘手问题,先Google,baidu一下吧! 其他人也有此想法,虽然方案不是很好,但我还是记录下来吧!以便以后查看。
先来说一说:<%# Eval(“Field”)%> 吧!
我们在控件中直接用<%# Eval(“Field”)%>,那他应该相当于:<%="str”%>和<% respose.write(“str”)%> 吧!因为在控件中绑定后他值就直接显示了!相当于输出咯!
我曾经多少次想这样写:<%# if(Eval(“Field”)=="str”){...}else{...}%> 可惜这样他不行啊!
1.如果简单的话可以使用三元运算符,<%# Eval(“Field”)=="str”?"somecode":"somecode"%>
但是如何if判断后处理很复杂呢?显然三元运算符不是很好!那样页面代码很多,我们毕竟不是在做ASP,也不好看,美工也不好写样式!
2.在后台页面写逻辑代码,返回字符串
public void Handler(string str) { if (str.Length > 5000) { Response.Write("<div title='" + str + "'>" + str.Substring(0, 1000) + "</div>"); } else { Response.Write(str); } } // or public string Handler(string str) { if (str.Length > 5000) { return "<div title='" + str + "'>" + str.Substring(0, 1000) + "</div>"; } else { return str; } }
前台调用:
<%# Handler(Eval("Field").ToString()) %>
注意Eval还可以绑定对象.属性 如:<%# Handler(Eval("User.Name").ToString()) %>
3.摘自网络
<% int _nIndex=0; %> <!--定义一个临时的整型变量-->
<asp:Repeater ID="_TopicRepeater" Runat="SERVER" DataSource="...">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "Title") %>
<%# DataBinder.Eval(Container.DataItem, "Author") %>
<%# DataBinder.Eval(Container.DataItem, "Clicked") %>
<%# DataBinder.Eval(Container.DataItem, "ReCount") %>
<%
int nReCount=(int)(((DataView)_TopicRepeater.DataSource).Table.Rows[_nIndex++]["ReCount"]);
// 也可以分成几句来写
// DataView DV=(DataView)_TopicRepeater.DataSource;
// DV.Table.Rows[_nIndex++]["ReCount"];
if(nReCount==0) { %>
----
<% } else { %>
<%# DataBinder.Eval(Container.DataItem, "LastReplyer") %>
<% } %>
</ItemTemplate>
</asp:Repeater>
- 上一篇:在.net的绑定事件中使用if控制语句
- 下一篇:Request.url用法
-
2010-12-09如何选择目标关键词2?
-
2012-06-30百度百科快速升级
-
2013-11-22asp.net 微信接口配置 自动回复功能实现
-
2010-07-20网站被K以后的生存法则(转)
-
2023-05-04PHP中private、public、protected的区别详解
-
2013-04-27.Net中Math.Round与四舍五入
