前台绑定数据的几种写法总结

来源:互联网 发布:淘宝网时装 编辑:程序博客网 时间:2024/05/20 03:45

项目中的几种绑定数据的总结记录下来

例一:数据库查询出来的日期格式是:2010-9-6 11:11:11.231 但是前台页面显示是2010年9月6日

<%#Convert.ToDateTime(Eval('Date')).ToString("yyyy年MM月dd日") %>

 

例二:连接到另外一个页面传多个值

<a href='<%#String.Format("Test.aspx?Id={0}&PId={1}",Eval("Id"),Eval("PId")) %>'>查看</a>

 

例三:打开新窗体,并传值

在javascript中以下两种情况均可以:

<a href='javascript:window.open("Test.aspx")'>查看</a>  //外单引号内双引号
<a href="javascript:window.open('Test.aspx')">查看</a>  //外双引号内单引号

以下两种编译不通过

<a href="javascript:window.open("Test.aspx")">查看</a>  //内外均是双引号
<a href='javascript:window.open('Test.aspx')'>查看</a>  //内外均是单引号

这个时候使用例二会出现错误

<a href='<%#String.Format("javascript:window.open('Test.aspx?Id={0}&PId={1}')",Eval("Id"),Eval("PId")) %>'>查看</a>

运行后查看源码 <a href='javascript:window.open('Test.aspx?Id=1&PId=0')'

这是内外均是单引号 所以运行报Js错误

解决办法:

在后台定义方法BindJs

 /// <param name="o1">参数一</param>

 /// <param name="o2">参数二</param>
 /// <returns>Js脚本字符串</returns>
 protected String BindJs(object o1, object o2) 
 {
       //包含双引号的Url
      string Url = "/"Test.aspx?Id={0}&PId={1}/"";
       return "javascript:window.open("+Url+","+o1.ToString()+","+o2.ToString()+")";
 }

前台代码: <a href='<%#BindJs(Eval("Id"),Eval("PId")) %>'>查看</a>  外单引号内双引号

项目中遇到,记录下了。