aspx页面上,链接地址那里报编译错误
<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编码话说这两个有什么区别,代表什么意思
<%# %>
<%= %>

解决方案 »

  1.   

    简单说就是
    <%# %>
    是在相应控件执行 .databind(),时候绑定。
    <%= %>
    这是页面,page_load,时候输出
      

  2.   

    <%# %>用来绑定数据<%= %>用来显示后台代码
      

  3.   

    <%= 和 %> 组合
    用于在html代码中插入.net代码片段。
    在aspx.net mvc中这个字符组合非经常见,这点类似以前的asp<%# %>组合用来绑定数据,也称作数据绑定表达式http://www.cnblogs.com/xiaopohou/archive/2011/09/04/2166507.html
      

  4.   

    <%#字段名称 %>用来绑定数据<%= 后台变量名%>
      

  5.   

    <%=Server.UrlEncode(#Eval("PName")) %>改成
    <%#Server.UrlEncode(Eval("PName")) %>试试
      

  6.   

    <%#Server.UrlEncode(Eval("PName").ToString())%>正确的<%#%> 是数据绑定语法 <%=>是输出语句相当于后台的response.write
      

  7.   

    <%#Server.UrlEncode(Eval("PName").ToString())%>
      

  8.   

    <body>
        当前时间:<%=DateTime.Now.ToString()%>    Repeater空间内部的绑定
        <%# Eval("Name")%>
    </body>
      

  9.   


    非常感谢,这个是正确的,少了.ToString()也不行