在一个aspx页面中,看到有用<%# %>,<%= %>,和<% %>这几种方式的,其实他们有什么样的区别呢?

解决方案 »

  1.   

    一般情况下:
    <%# %>数据绑定的,如<%# DataBinder.Eval(Container.DataItem,"ziduan")%>
    <%= %>显示数据,相当于<%Response.write(Contents)%>
    <% %>相当于asp的写法,如上所示的,<%Response.write(Contents)%>
      

  2.   

    但是我见到一些调用函数的也用<%# %>,这样也可以的吗?
      

  3.   

    <%# %>数据绑定,主要用于几个控件中,如:DataList、DataGrid......等。其它两个个人认为是为了向前兼容ASP,这一点微软还是做的不错的。
      

  4.   

    用<%# %>吧,忘了其他的吧
      

  5.   

    调用后台代码的函数:<%flag();%>
    调用后台代码的变量:<%=Test;%>
      

  6.   

    写错啦,抱歉,这样的:
    调用后代码的函数:<%flag();%>
    调用后代码的变量:<%=Test%>
      

  7.   

    <%# %>数据绑定的,如<%# Convert.ToString(DataBinder.Eval(Container.DataItem,"jjjjjj"))%>
    <%= %>显示数据(或赋值),相当于<%Response.write(Contents)或a=b;%>
    <% %>相当于asp的写法,如上所示的,<%Response.write(Contents)%>
      

  8.   

    1. <%# %><%# "1234" %> 相当于:(new Literal()).Text="1234";<asp:DataList id="dataList" runat="server" DataSource=<%# "1234" %> />相当于:dataList.DataSource="1234";也就是说,“<%# %>”相当于符值。但是符值的发生时间之在控件被“DataBind”的时候2. <%= "1234" %>相当于:<% Response.Write("1234"); %>
      

  9.   

    不过我在页面上使用<%# Session["user"].ToString()%>时却没有输出,session里面的数据是存在的,因为在page_load时使用可以取到值。而改用<%=Session["user"].ToString() %>却又可以,why?
      

  10.   

    Add:
    <%= %>也可以用于以下用途:在*.aspx代码中写:  <%=PleaseInputName %>
    在*.aspx.cs中写入: protected string PleaseInputName = "请输入姓名";当作标签或提示文字用.
      

  11.   

    <%#%> 是声明
    <%%>  是代码块
      

  12.   

    <%# %> 调用后台的函数  —— 建议使用
    <%= %> 输出变量值 —— 兼容以前的写法,不建议使用
    <%%>   函数或其他语法 —— 兼容以前的写法,不建议使用<%if a = 1%>
      <DIV>aaa<DIV>
    <%else%>
      <DIV>bbb<DIV>
    <%end if%>当a=1的时候显示aaa,否则显示bbb。
      

  13.   

    up
    ================================================================
    email:[email protected]
    ================================================================
      

  14.   

    <% = %>
    =前面要加个空格吧!