zoukankan      html  css  js  c++  java
  • asp.net中的<%%>形式的详细用法实例讲解

    asp.net中的代码分离模式我们肯定都不陌生,C#(或者其它语言)写的代码一般不会和设计语言HTML混在一起,但是有的时候也避免不了,这时就会在UI页面里用<%%>来绑定显示、绑定变量数据了,今日看到一文章专门对此进行了分析,我进行了一点修正:

    一. <%%>

    这种格式实际上就是和asp的用法一样的,只是asp中里面是vbs cript或者javas cript代码,而在asp.net中用的是.net平台下支持的语言。

    特别注意:服务器控件中不能包含<%%>的语法,否则出错。

    如下,我们可以在.aspx页面里出现如下代码: <% int a = 2; int b = 3; int c = a + b; Response.Write(c); %>

    另外需要注意的是<%%>标记内的内联代码是在页面呈现的Render过程中执行的
    已经接近页面生命周期的尾部。

    二. <%#%>

    这种格式是asp.net下特有的,它是控件数据绑定的语法,且必须要调用该控件的DataBind()方法才执行(或者整个页面Page.DataBind()也就是对所得控件都调用DataBind()方法)

    特别注意:只有服务器控件才能用<%#%>的语法

    <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();
    } } 运行显示出来的效果

    三. <%=%>

    这种格式经常用到的。 <label id="label1"><%=DisplayStr()%></label><br /> <label id="label2" runat="server"><%=DisplayStr()%></label> aspx.cs代码:

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

    四. <%$%>

    主要用于引用外部资源

    特别注意:1.绑定的只能是服务器控件

    2.只能绑定到服务器控件的某个属性上。

    以下以获取web.config资源来做实例: <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>

    运行都会出现相同的错误: "分析器错误信息:不允许使用类似"<%$ConnectionStrings:pubs%>"类似的文本表达式,请改用……

    最后强调:

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

    from:http://www.bdqn.cn/news/201303/8412.shtml

  • 相关阅读:
    django模型中的抽象类(abstract)
    http,tcp,udp的报文格式
    关于HTTP请求GET和POST的区别
    SQL语言分为四类,每类分别是?各包括什么?
    Python中为什么可以通过bin(n & 0xffffffff)来获得负数的补码?
    python中sorted和sorted 、reversed和reverse的使用。
    Django Cannot assign "A1": "B1" must be a "C1" instance. 错误信息
    python反转链表和成对反转
    Python单例模式的四种方法
    python的列表list和集合set操作
  • 原文地址:https://www.cnblogs.com/SFAN/p/3670390.html
Copyright © 2011-2022 走看看