asp.net中的<% %>,<%= %>,<%# %><%$ %>的使用
原文:https://www.cnblogs.com/Hackerman/p/3857630.html
首先我们来看一下<% %>的使用
在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="更新" /> <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="插入" /> <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>