asp.net代码中尖括号和百分号的用法

1、<%=%> 里面放的变量名,如:
<div>
<h1>Hello World</h1>
<p>Welcome to Beginning ASP.NET 3.5 on <%=
DateTime.Now.ToString() %>
</p>
</div>
输出结果为:

Hello World

Welcome to Beginning ASP.NET 3.5 on 2009-11-10 15:53:08
 
2、 <%#%> 这里是数据的绑定
一般在asp:repeater、datalist等asp容器内使用,通过如repeater.datasource=DataSet;repeater.Bind();绑定容器和数据源。
:<%# DataBinder.(Container.DataItem, "ClassName") %>
完整代码:  <asp:DataList ID="ClassList" runat="server">
<ItemTemplate> <%# DataBinder.(Container.DataItem, "ClassName") %>
</ItemTemplate>
</asp:DataList></td>
 
3、<%@ %> 表示:引用
如在很多.aspx页面中,都可以看到如下的代码:
<%@ Page Language="C#"   CodeFile="Default.aspx.cs" Inherits="_Default" %>
 
4、<%: %>
这种方式是ASP.NET4.0中新加入的绑定方式,常用于MVC中,但普通webform中也可使用。他的功能其实就是对绑定的值进行一下编码,因此,一下两者是等同的:
 <%= Server.HtmlEncode("<b>test</b>") %>
 <%: "<b>test</b>" %>;
 
5、<%%>中间一般放函数或者方法,典型的asp程序写法。
在百分号內 , 如果百分号后面不带任何符号(冒号、等号、井号) , 即表示要执行一段代码而已,此处不包含任何输出信息;若带符号,即表示执行此处的代码,并且将执行后返回的值绑定(或者显示)在此处。
例如:<tr bgcolor="#ffffff">
<td height="20">
<div align="center">类别:</div>
</td>
<td height="9">&nbsp;
<%ST_getList();%>
</td>
</tr>
 
6、<%= %>和<%# %>有点区别。
    在后台代码中,与第一种方式唯一不同的,就是需要调用DataBind方法。只有执行了相应控件的DataBind方法,前台代码中这些控件中使用<%# %>的绑定才会发生(并且控件内部的所有绑定也会发生,比如又嵌套了一个绑定后台数据的控件),否则得话将不会被赋值,而是默认空值。上面我们用的是Page的DataBind方法,那么整个页面所有绑定都会执行。当然,如果我们只执行DataList1或者DropDownList1的DataBind方法,那么只有相应控件的绑定才会发生。需要注意的是,这里说的需要执行DataBind包括了显示和隐式执行,有些数据绑定类控件,当它们通过 DataSourceID 属性绑定到数据源控件时,会通过隐式调用 DataBind 方法来执行绑定。这时就不必显示的再次调用了。
 
    两者区别:
    两种绑定方式上,他们的约束基本相同,都要求与属性匹配,出现在他们可以出现的位置。后者的使用位置更广泛,尤其是支持服务器端控件和绑定数据集合。后台代码方面,后者需要调用DataBind才能完成绑定,前者则没有这方面要求。这里主要区别一下两者在执行机制上的区别:<%=...%>是在程序执行时调用(应该是在页面的RenderControl事件过程中完成的,也就是通常情况下我们可以看到的后台代码都执行完毕后再去到前台代码中进行赋值绑定),而<%#... %>是在DataBind()方法之后被调用,一旦调用了DataBind(),则它对应的控件将绑定变量,因此,请注意:如果在DataBind()后再修改变量,那么绑定的就不是最新值了,这就需要在完成变量的赋值后,再去DataBind()。其实这两种方式,它的运行过程可以在VS中通过设置断点来看看,看两者的绑定赋值分别是在什么时候发生的。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ASP.NET是一种用于构建Web应用程序的开发框架。它基于.NET框架,使用C#或VB.NET作为编程语言。下面是一些ASP.NET代码的基础知识: 1. 页面生命周期:ASP.NET页面的生命周期可以分为多个阶段,包括页面初始化、加载视图状态、处理事件、呈现页面等。你可以在不同的事件编写代码来控制页面的行为。 2. 控件:ASP.NET提供了许多内置的服务器控件,用于构建用户界面。例如,TextBox用于接收用户输入,Button用于处理点击事件,GridView用于显示数据等。你可以通过在页面上放置这些控件,并设置其属性和事件来实现所需的功能。 3. 事件处理:在ASP.NET,你可以为页面或控件的事件编写事件处理程序。例如,当用户点击按钮时,你可以编写一个事件处理程序来执行特定的操作。你可以在代码使用事件处理程序来响应用户的操作。 4. 数据访问:ASP.NET提供了多种方式来访问和操作数据库。你可以使用ADO.NET来编写数据访问代码,或者使用Entity Framework等ORM工具简化数据访问过程。 5. 身份验证和授权:ASP.NET提供了身份验证和授权的功能,用于管理用户的访问权限。你可以使用内置的身份验证机制或自定义身份验证提供程序来实现用户认证和授权。 这些只是ASP.NET代码的一些基础知识,你可以深入学习ASP.NET来了解更多的功能和技术。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值