ASP.NET中的<%%>介绍

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP.NET中的<%%>介绍相关的知识,希望对你有一定的参考价值。

一、主要用于ASP.NET前台绑定用的最多:

  • <%#Eval("")%>
  • <%#Bind("")%>
  • <%=变量%>

1.<%#Eval("数据列")%>主要用于需要进行更改的数据列

  如:需要将<%Eval("性别")%>=1;将1转换成女。

  首先在.CS文件中定义一个方法:

 1 public object ChangeSex(object obj)
 2 {
 3     if(object.ToString()==0)
 4        {
 5             return "";
 6        }        
 7     else
 8     {
 9          return "";
10     }
11 }    

<%#ChangeSex(Eva("性别"))%>=女

可以把这些公共的转换方法全部放到一个公共类文件中,进行调用之,调用方法为:

<%#Common.ChangeSex(Eval("性别"))%>

2.<%#Bind("数据列")%>

常见于GridView中的不需要进行处理的数据列绑定。

3.<%=变量%>

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

public string userInfo= "数据";

直接调用就OK了,但是我们一般不会这样直接写一个定值;就需要这样写了:

public string StrOrders
        {
            set
            {
                ViewState["Orders"] = value;
            }
            get
            {
                if (ViewState["Orders"] == null)
                {
                    ViewState["Orders"] = "";
                }
                return ViewState["Orders"].ToString();
            }
        }

二、ASP.NET中<%%>形式的详细用法总结

1.<%%> 注意:服务器空间中不能包含<%%>的语法,如.aspx页面中可以出现如下代码:

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

2.<%#%>在asp.net下特有的,是空间绑定数据的语法,且必须要调用该控件的DataBind()方法才能执行。注意:只有服务器控件才能用<%#%>的语法。aspx.cs代码如下:

1  <div>
2     Server Control:<asp:TextBox runat="server" Text="<%#text%>"></asp:TextBox><br /><!--Server Control-->
3    Client Control:<input type="text" value="<%#text%>" /><!--Client Control-->
4 </div>
1 代码 protected string text;//注意这里必须申明为public或protected,否则aspx页面(子类)无法访问
2 protected void Page_Load(object sender, EventArgs e)
3 {
4 if (!Page.IsPostBack)
5 {
6 this.text = "aaaaaaaaaaaaa";
7 this.TextBox1.DataBind();//或this.DataBind(); 
8 }
9 }

3.<%=%>

1 <label ><%=DisplayStr()%></label><br />
2 <label runat="server"><%=DisplayStr()%></label>

aspx.cs代码:

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

4.<%$%>主要用于引用外部资源。

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

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

以下以获取web.config资源来做实例:

1 <asp:TextBox runat="server" ID="cc" Text="<%$ConnectionStrings:pubs%>"></asp:TextBox>
2 web.config文件如下: 
3 <connectionStrings><add name="pubs" c providerName="System.Data.SqlClient"/></connectionStrings>

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

 

参考:http://www.cnblogs.com/puresoul/archive/2010/08/04/1791837.html

   http://www.cnblogs.com/Jack_G/archive/2011/09/01/2162316.html

以上是关于ASP.NET中的<%%>介绍的主要内容,如果未能解决你的问题,请参考以下文章

asp.net页面实用代码片段

asp.net 中 Eval() Bind() <%%> <%=%> 总结

ASP.NET MVC4.0+EF+LINQ+bui+网站+角色权限管理系统

从 ASP.NET 中的 SQL 数据库中检索 HTML 代码

在 ASP.NET C# 和 Razor 中的变量内编写 HTML 代码

将 <tr> 放在 asp.net 中的面板控件中