zoukankan      html  css  js  c++  java
  • <%%>

    一.  <%%>
    这种格式实际上就是和asp的用法一样的,只是asp中里面是vbscript或者javascript代码,而在asp.net中是.net平台下支持的语言。
    特别注意:服务器控件中不能有<%%>语法
    (这里我用C#代码)

      <%
            
    int a = 2;
            
    int b = 3;
            
    int c = a + b;
            Response.Write(c);
         
    %>

    二. <%#%>
    如果是这种格式的话那就是asp.net下特有的,它是控件数据绑定的语法,且必须要调用该控件的DataBind()方法才执行(或者整个页面Page.DataBind()也就是对所得控件都调用DataBind()方法,在这种情况下不管是服务器控件还是客户端控件都会绑定)
    特别注意:只有服务器控件才能用<%#%>语法(不准确的)

    2007-1-25修改于:当整个页面调用this.DataBinder()方法时,不管是服务器控件还是客户端控件都会绑定

    <div>
    Server Control:
    <asp:TextBox ID="TextBox1" runat="server" Text="<%#text%>"></asp:TextBox><br /><!--Server Control-->
    Client Control:<input type="text" id="textbox2" value="<%#text%>" /><!--Client Control-->
     
    </div>

    aspx.cs代码如下:

      protected string text;//注意这里必须申明为public或protected,否则aspx页面(子类)无法访问
            protected void Page_Load(object sender, EventArgs e)
            
    {
                
    if (!Page.IsPostBack)
                
    {
                    
    this.text = "aaaaaaaaaaaaa";
                    
    this.TextBox1.DataBind();//或this.DataBind();              
     
                }

             }

    当this.TextBox1.DataBind()  运行显示出来的效果

    this.DataBind() 运行显示出来的效果

    三.  <%=%>
    这种形式实际上是由<%%>扩展而来的.等价于:Response.Write(<%%>)这种形式(不标准,但能看明白),它其实也可以看成是一种绑定.
    aspx代码:

      <label id="label1"><%=DisplayStr()%></label><br />
      
    <label id="label2" runat="server"><%=DisplayStr()%></label>

    aspx.cs代码:

     public string  DisplayStr()//注意这里必须要有返回值,否则将会发生运行时错误
            {
                
    return "bbbb";
             }

    运行效果:

    四.<%$%>
    这种形式主要用于对web.config文件的键值对进行绑定:通常用于连接数据库的字符串
    特别注意:1.绑定的只能是服务器控件
                 2.只能绑定到服务器控件的某个属性上。

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

    web.config文件如下:

     <connectionStrings>
        
    <add name="pubs" connectionString="Server=.;database=pubs;uid=sa;pwd=" providerName="System.Data.SqlClient"/>
      
    </connectionStrings>

    这样就能正常运行。
    如果修改aspx中的文件:使用客户端的控件

     <input type="text" value="<%$ConnectionStrings:pubs%>"/>

    或者:不绑定到服务器控件的某个属性上

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


    运行都会出现相同的错误



    最后注意一点:
    <%#%>只针对的是服务器控件的数据绑定,因此不能同<%=%>和<%%>混合使用


    2008-1-25补充:
    针对:<%=%>形式:
    另外一种情况:
    aspx代码:

              <input type="text" id="a"  value=<%=DisplayStr()%> />
              
    <input id="Text1" type="text"  runat="server" value=<%=DisplayStr()%> />

    aspx.cs代码:

     public string  DisplayStr()//注意这里必须要有返回值,否则将会发生运行时错误
            {
                
    return "bbbb";
             }

    如果是这样的情况的话,就出现运行时错误。


    最后对这种<%=%>用法强调一句:尽量对客户端控件用这种形式,毕竟它是asp常用语法,不会出现问题。
    但是对于asp.net的服务器控件就可能不能完全适合的。

  • 相关阅读:
    Python解释器相关知识
    简单了解下Flask
    Scoket编程
    __file__的作用
    jquery编写可折叠列表
    浑浑噩噩的一天
    js实现杨辉三角
    js闭包
    python读取word表格
    HTMLTestRunner报告
  • 原文地址:https://www.cnblogs.com/kim0zh/p/3494577.html
Copyright © 2011-2022 走看看