谈谈asp.net中的% %,%= %,%# %的使用

<% %>的使用

在aspx的页面中只能使用服务器控件和一般的控件,有些时候你想在该页面写入c#代码,必须使用<% %>,然后在里面写入c#的代码,下面我们来看一例子:

<form id="form1" runat="server">
    <div>
       <%
           Response.Write("hello,world");
        %>
    </div>
</form>

这样就可以把该代码打印显示到页面上了。该代码就如下所示:

<html>

<head>

</head>

<body>

<p>hello ,world</p>

</body>

</html>

 

<%= %>的使用

这是用来从后台页面传值到前台页面所使用的,就是在前台调用后台变量或参数所使用,前台代码如下:

 <form id="form1" runat="server">
     <div>
         <%=name %>
     </div>
 </form>

后台代码如下:

public partial class index : System.Web.UI.Page
{
    public String name;
    protected void Page_Load(object sender, EventArgs e)
    {
          name= "张三";
    }

读取app.config中配置的信息,前台页面可以这样写:

<%=ConfigurationManager.AppSettings["aaa"].ToString()%> 

app.config代码如下:

 <add key="aaa" value="1"/>

 

 <%# %>的使用

 这是一个数据控件绑定显示使用的.

<asp:Repeater ID="repeater1" runat="server">
      <ItemTemplate>
           <%# Eval("酒店名称")%>   

           <%# Eval("创建时间", "{0:MM-dd HH:mm}")%>

           <%# Eval("订单总金额").ToString().Replace(".00", "")%>            

            <%# GetOrderState(DataBinder.Eval(Container.DataItem, "订单状态").ToString())%>                     
      </ItemTemplate>
</asp:Repeater>

后台为Repeater控件绑定数据源:

 DataTable dt=null; //假设dt为数据源

 this.repeater1.DataSource = dt;
 this.repeater1.DataBind();

 protected string GetOrderState(string orderState)
 {
            string returnString = "";
            if (orderState == "1")
            {
                returnString = "未完成";
            }
            else
            {
                returnString = "已完成";
            }
            return returnString;
 }

转自:https://www.cnblogs.com/Hackerman/p/3857630.html

猜你喜欢

转载自blog.csdn.net/liangmengbk/article/details/89844218