ASP.NET视图页面使用标记语法

  • 在设计时的ASP.NET视图页面使用<% %>标记语法,通常会用于三种情况:

1.页面指令

例如:<% @Page %>

2.数据绑定

例如:<%Eval()%>或<%Bind()%>

3.将托管代码运算结果直接输出到视图中指定位置

例如:<label><%=user.identity.name %></label>

 

  • 使用<% %>标记,有时会给ASP.NET开发带来很大的便利性,但也必须注意,这样会使得视图与业务逻辑混杂一起,造成维护上的不便。
  • 使用注意事项:

1.此标记作为托管代码结果输出之用时,他不能使用在服务器控件上,只是在进行数据绑定是可以使用。因为在Server端运行时对服务器控件进行处理时,不会去处理<% %>标记,除非遇到Eval或Bind关键字s

2.假设从数据库内读取一个字符型数据,如果他超过20个字符长度,就只取前20位,那么使用<%# if(eval("dataFieldName").length > 20,eval("dataFieldName").substring(0,20),eval("dataFieldName")) %>

3.<%=user.identity.name%>是<% response.write(user.identity.name)%>的简写形式

4.服务器控件上使用<%# %>数据绑定时,不能把<%# %>与其他字符类型数据混在一起连接。

5.用作数据绑定时,<%# %>标记用‘’单引号包裹

6.在JS脚本中使用<% %>作为托管代码返回值之用时,记住要用‘’单引号包裹

 

 

 

 

从ScottGu大神那里看到的,ASP.NET4.0启用新的<%: %>语法用于HTML编码。Html Encoding的一般用于防止跨站攻击(XSS),详情可以参考我之前写过的一篇文章:http://www.cnblogs.com/coderzh/archive/2008/09/06/1285500.html

之前的做法是:

<%=  Server.HtmlEncode(value)  %>

如果value已经被Html Encode过一次的话,再调用Server.HtmlEncode会得到非预期的值。

新的<%: %>语法解决了这个问题,使用起来也非常的简单。

<% :  value  %>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值