<% %> 、 <%= %> 、<%# %> 的区别

1,<% %>用来绑定后台代码    中间一般放函数或者方法,典型的asp程序写法。

     在前台页面可以写后台代码                 相当于开辟了C#空间,可以写C#代码

2,<%= %>   里面放的变量名

需要在后台.cs文件中声明一个public的变量

public string userInfo= "数据";

直接调用就OK了

3,<%# %>  

<%#Eval("数据列")%>       双向绑定                          主要用于需要进行更改的数据列  

<%#Bind("数据列")%>      单向绑定                           常见于GridView中的不需要进行处理的数据列绑定

4,<%@ %> 用来导入后台命名空间

XXX.ASPX   中

<%@ Import Namespace="MVCDemo.Models" %>   <%--引用命名空间--%>

 <% IEnumerable<Users> list = ViewData["data"] as IEnumerable<Users>; %>  <%--写后台代码--%>
    <div>
        <table class="auto-style1">
            <tr>
                <td>ID</td>
                <td>UserName</td>
                <td>Pwd</td>
                <td>Sex</td>
            </tr>
            <% foreach (Users item in list)
               {      
            %>
            <tr>
                <td><%=item.ID %></td>     <%--存放变量--%>
                <td><%=item.UserName %></td>
                <td><%=item.UserPwd %></td>
                <td><%=item.Sex %></td>
            </tr>
            <%
               } %>
        </table>

asp.net <%%>&<%#%>&<%=%>&<%@%>&<%$%>用法区别

1.<% %>用来绑定后台代码

如:

< %

for(int i=0;i<100;i++)

{

Reaponse.Write(i.ToString());

}

%>

2.<%# %> 是在绑定控件DataBind()方法执行时被执行,用于数据绑定

如: < %# Container.DataItem("title") %>

3.<%= %>用来绑定后台的变量或方法且有返回值 的,但此时的变量名或方法的访问修饰符为protected或public

如:<%=name%> <%=getstr()%>

4.<%@ %>用来导入后台命名空间

如:<%@ import namespace="system.data">

5.<%$ %>用来绑定web.config里的字符串(键值对)

如:<asp:TextBox runat="server" ID="cc" Text="<%$ ConnectionStrings:pubs%>"></asp:TextBox>

web.config

<configuration> 
<system.web> 
<compilation debug="true" targetFramework="4.0" /> 
</system.web> 
<connectionStrings> 
<add name="pubs" connectionString="Server=.;database=pubs;uid=sa;pwd=" providerName="System.Data.SqlClient"/> 
</connectionStrings> 
</configuration>

原文地址:https://www.cnblogs.com/Sea1ee/p/5951035.html