首页 > 技术文章 > 谈谈asp.net中的<% %>,<%= %>,<%# %><%$ %>的使用-转

asdyzh 2018-10-04 13:09 原文

首先我们来看一下<% %>的使用

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

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

这样就可以把该代码答应显示到页面上了。该代码就如

1
2
3
4
5
6
7
<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= "haha";
    }
}
复制代码

接下来我们来看一下<%# %>

这是一个数据控件绑定显示使用的,有多种显示方式

1.<%# Eval("查询出的字段")%>例如

复制代码
<asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource1">
            <ItemTemplate>
                _id:
                <asp:Label ID="_idLabel" runat="server" Text='<%# Eval("_id") %>' />
                <br />
                _name:
                <asp:Label ID="_nameLabel" runat="server" Text='<%# Eval("_name") %>' />
                <br />
                _sex:
                <asp:Label ID="_sexLabel" runat="server" Text='<%# Eval("_sex") %>' />
                <br />
                _tel:
                <asp:Label ID="_telLabel" runat="server" Text='<%# Eval("_tel") %>' />
                <br />
<br />
            </ItemTemplate>
        </asp:DataList>
复制代码

2,<%#Bind("")%>数据源绑定控件的Formview的数据显示与绑定,代码如下

复制代码
<asp:FormView ID="FormView1" runat="server" DataSourceID="SqlDataSource1">
            <EditItemTemplate>
                _id:
                <asp:Label ID="_idLabel1" runat="server" Text='<%# Eval("_id") %>' />
                <br />
                _name:
                <asp:TextBox ID="_nameTextBox" runat="server" Text='<%# Bind("_name") %>' />
                <br />
                _sex:
                <asp:CheckBox ID="_sexCheckBox" runat="server" Checked='<%# Bind("_sex") %>' />
                <br />
                _tel:
                <asp:TextBox ID="_telTextBox" runat="server" Text='<%# Bind("_tel") %>' />
                <br />
                <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" 
                    CommandName="Update" Text="更新" />
                &nbsp;<asp:LinkButton ID="UpdateCancelButton" runat="server" 
                    CausesValidation="False" CommandName="Cancel" Text="取消" />
            </EditItemTemplate>
            <InsertItemTemplate>
                _name:
                <asp:TextBox ID="_nameTextBox" runat="server" Text='<%# Bind("_name") %>' />
                <br />
                _sex:
                <asp:CheckBox ID="_sexCheckBox" runat="server" Checked='<%# Bind("_sex") %>' />
                <br />
                _tel:
                <asp:TextBox ID="_telTextBox" runat="server" Text='<%# Bind("_tel") %>' />
                <br />
                <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" 
                    CommandName="Insert" Text="插入" />
                &nbsp;<asp:LinkButton ID="InsertCancelButton" runat="server" 
                    CausesValidation="False" CommandName="Cancel" Text="取消" />
            </InsertItemTemplate>
            <ItemTemplate>
                _id:
                <asp:Label ID="_idLabel" runat="server" Text='<%# Eval("_id") %>' />
                <br />
                _name:
                <asp:Label ID="_nameLabel" runat="server" Text='<%# Bind("_name") %>' />
                <br />
                _sex:
                <asp:CheckBox ID="_sexCheckBox" runat="server" Checked='<%# Bind("_sex") %>' 
                    Enabled="false" />
                <br />
                _tel:
                <asp:Label ID="_telLabel" runat="server" Text='<%# Bind("_tel") %>' />
                <br />

            </ItemTemplate>
        </asp:FormView>
复制代码

最后我们来看一下很少用到的<%$ %>

这个代码很少见,但是在使用多语言转换的时候能够用到,就是必须先建立全局资源和本地资源,还有就是在配置文件中配置如下代码,然后调用配置文件。代码如下

配置文件代码

1
2
3
4
5
6
7
8
9
10
configuration>
  <appSettings>
    <add key="connect" value="hello"/>
  </appSettings>
    <system.web>
        <compilation debug="false" targetFramework="4.0" />
   
  </system.web>
   
</configuration>

 配置调用代码

复制代码
<form id="form1" runat="server">
    <div>
       <%-- <asp:Label ID="Label1" runat="server" Text="<%$ Resources:age %>"></asp:Label>--%>
       <asp:Literal ID="Literal1" runat="server" Text="<%$ Resources:Default.aspx,name%>" />
       <asp:Literal ID="Literal2" runat="server" Text="<%$ Resources:Default.aspx,age%>" />
        <asp:Label ID="heh" runat="server" Text="<%$ appSettings:connect %>"></asp:Label>
    </div>

推荐阅读