日期:2014-05-17  浏览次数:20492 次

菜鸟求解简单asp.net问题
aspx页面上,链接地址那里报编译错误

C# code

<asp:Repeater ID="repList" runat="server" EnableViewState="False">
      <ItemTemplate>
          <a href='list.aspx?k=<%=Server.UrlEncode(#Eval("PName")) %>' target="_blank">查看详情</a>
      </ItemTemplate>
</asp:Repeater>




<%#Eval("PName") %> 绑定字段PName,正常获取数据
<%=Server.UrlEncode() %> 正常进行URL编码



话说这两个有什么区别,代表什么意思
<%# %>
<%= %>

------解决方案--------------------
简单说就是
<%# %>
是在相应控件执行 .databind(),时候绑定。
<%= %>
这是页面,page_load,时候输出
------解决方案--------------------
<%# %>用来绑定数据

<%= %>用来显示后台代码
------解决方案--------------------
<%= 和 %> 组合
用于在html代码中插入.net代码片段。
在aspx.net mvc中这个字符组合非经常见,这点类似以前的asp

<%# %>组合用来绑定数据,也称作数据绑定表达式http://www.cnblogs.com/xiaopohou/archive/2011/09/04/2166507.html
------解决方案--------------------
<%#字段名称 %>用来绑定数据

<%= 后台变量名%>
------解决方案--------------------
<%=Server.UrlEncode(#Eval("PName")) %>改成
<%#Server.UrlEncode(Eval("PName")) %>试试
------解决方案--------------------
<%#Server.UrlEncode(Eval("PName").ToString())%>正确的

<%#%> 是数据绑定语法 <%=>是输出语句相当于后台的response.write
------解决方案--------------------
<%#Server.UrlEncode(Eval("PName").ToString())%>
------解决方案--------------------
<body>
当前时间:<%=DateTime.Now.ToString()%>

Repeater空间内部的绑定
<%# Eval("Name")%>
</body>