asp.net中的<% %>、<%= %>、<%# %>、<%$ %>、<%: %>、<%@%>的使用

asp.net中的<% %>、<%= %>、<%# %>、<%$ %>、<%: %>、<%@%>的使用


一、<% %>

该种标记绑定的是后台代码,简易理解就是,当你在.aspx页面下想加入C#代码,你这时候就可以用到<% %>写到.asp net 项目的前台页面中,代码示例如下:

<from id="from1" runat="server">
	<div>
		<% Response.Write("hello,world"); %>
	</div>
	<div>
		<% var index=0; %>
		<% foreach (var i=0;i<10;i++){
			Response.Write(index++);
		}%>
	</div>
</from>


二、<%= %>

这是用来从后台页面传值到前台页面所使用的(需求值:后台–>前台),用来绑定后台的变量或方法且有返回值的,但服务器端的变量名或方法的访问修饰符必须为protected或public,可以理解为假如需要在前台调用后台变量或参数,就可以使用改标记。

//前台代码
<from id="from1" runat="server">
	<div>
		<%=id  %>
	</div>
</from>

//后台代码
public string id;
protected void Page_Load(object sender, EventArgs e)
{
     id= "PCX";
}


三、<%# %>

该标记用于数据绑定,在绑定控件 DataBind() 方法执行时被执行。
DataBind():Page.DataBind()或 “控件id.DataBindo” 方法将数据绑定到数据源上,可以在Page_Load事件下调用DataBind()。

//前台代码
<from id="from1" runat="server">
	<div>
		<asp:Repeater runat="server" ID="rpt1" OnItemCommand="rpt1_OIC">
			<HeaderTemplate>
				<table id="table1">
					<tr>
						<th>ID</th>
						<th>Name</th>
					</tr>
			</HeaderTemplate>
			<ItemTemplate>
				<tr>
					<td><%#Eval("key")%></td>
					//如果是数据表,直接用<%#Eval("column_name")%>---column_name为字段名
					<td><%#Eval("value")></td>
				</tr>
			</ItemTemplate>
			<FooterTemplate>
				</table>
			</FooterTemplate>
		</asp:Repeater>
	</div>
</from>

//后台代码
protected void Page_Load(object sender, EventArgs e)
{
	if (!IsPostBack)
		BindData();
}
private void BindData()
{
	var data=new Dictionary<string,string>{{"id":1},{"name":"pcx"}};
	rpt1.DataSource = data;
	rpt1.DataBind();
}


四、<%: %>

<%: %>等同于<%= %>,是ASP.NET4.0中新加入的绑定方式,功能区别其实就是对绑定的值进行编码,简化代码,更具可读性。

//<%= %>
<%= Server.HtmlEncode("<b>test</b>") %>
//等同于<%: %>
<%: "<b>test</b>" %>


五、<%@%>

表示引用包,设置网页的编码方式和脚本语言等。

//包括但不限于以下例子
<%@ page ... %>
<%@ language="javascript"%>
//用户控件
<%@ Register Src="" TagPrefix="" TagName="" %>

六、<%$ %>

主要用来绑定web.config里的字符串(键值对),通过<%$…%>,我们可以从配置文件(Web.Config)中取得连接字符串和应用程序设置,或从资源文件(.resx或.resource)中取得特定项的设置值。

//1、取得连接字符串
//web.config文件配置
<connectionStrings>
	<add name="DefaultConnection" connectionString="Data Source=WIN-SB1Q2JF6A4K;Initial Catalog=Mvc_pj;Integrated Security=True"
	providerName="System.Data.SqlClient" />
</connectionStrings>

//-------<%$ %>-------
<asp:SqlDataSource ID="SqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:DefaultConnection %>"
	SelectCommand="select * from person">
</asp:SqlDataSource>

//2、取得应用程序设置
//web.config文件配置
<appSettings>
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
//-------<%$ %>-------
<asp:Literal ID="Literal_1" runat="server"
	Text="<%$ AppSettings: UnobtrusiveJavaScriptEnabled %>">
</asp:Literal>

在这里插入图片描述

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值