分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

asp.net中,<%#%>,<%=%>和<%%>分别是什么意思,有什么区别 --转

发布时间:2023-09-06 02:17责任编辑:郭大石关键词:暂无标签
在asp.net中经常出现包含这种形式<%%>的html代码,总的来说包含下面这样几种格式:一. ?<%%>这种格式实际上就是和asp的用法一样的,只是asp中里面是vbscript或者javascript代码,而在asp.net中是.net平台下支持的语言。特别注意:服务器控件中不能有<%%>语法(这里用C#代码) ?<% ???????int a = 2; ???????int b = 3; ???????int c = a + b; ???????Response.Write(c); ???%>二. <%#%>如果是这种格式的话那就是asp.net下特有的,它是控件数据绑定的语法,且必须要调用该控件的DataBind()方法才执行(或者整个页面Page.DataBind()也就是对所得控件都调用DataBind()方法,在这种情况下不管是服务器控件还是客户端控件都会绑定)特别注意:只有服务器控件才能用<%#%>语法(不准确的)当整个页面调用this.DataBinder()方法时,不管是服务器控件还是客户端控件都会绑定<div>Server Control:<asp:TextBox ID="TextBox1" runat="server" Text="<%#text%>"></asp:TextBox><br /><!--Server Control-->Client Control:<input type="text" id="textbox2" value="<%#text%>" /><!--Client Control--> </div>aspx.cs代码如下: ??protected string text;//注意这里必须申明为public或protected,否则aspx页面(子类)无法访问 ???????protected void Page_Load(object sender, EventArgs e) ???????{ ???????????if (!Page.IsPostBack) ???????????{ ???????????????this.text = "aaaaaaaaaaaaa"; ???????????????this.TextBox1.DataBind();//或this.DataBind(); ?????????????????????????} ???????}当this.TextBox1.DataBind() ?运行显示出来的效果(无法插入图片自己测试)this.DataBind() 运行显示出来的效果(无法插入图片自己测试)三. ?<%=%>这种形式实际上是由<%%>扩展而来的.等价于:Response.Write(<%%>)这种形式(不标准,但能看明白),它其实也可以看成是一种绑定.aspx代码: ??<label id="label1"><%=DisplayStr()%></label><br /> ?<label id="label2" runat="server"><%=DisplayStr()%></label>aspx.cs代码: ?public string ?DisplayStr()//注意这里必须要有返回值,否则将会发生运行时错误 ???????{ ???????????return "bbbb"; ???????}四.<%$%>这种形式主要用于对web.config文件的键值对进行绑定:通常用于连接数据库的字符串特别注意:1.绑定的只能是服务器控件 ?????????2.只能绑定到服务器控件的某个属性上。 <asp:TextBox runat="server" ID="cc" Text="<%$ConnectionStrings:pubs%>"></asp:TextBox>web.config文件如下: ?<connectionStrings> ???<add name="pubs" connectionString="Server=.;database=pubs;uid=sa;pwd=" providerName="System.Data.SqlClient"/> ?</connectionStrings>这样就能正常运行。如果修改aspx中的文件:使用客户端的控件 ?<input type="text" value="<%$ConnectionStrings:pubs%>"/>或者:不绑定到服务器控件的某个属性上 <asp:TextBox runat="server" ID="cc"><%$ConnectionStrings:pubs%></asp:TextBox>运行都会出现相同的错误最后注意一点: <%#%>只针对的是服务器控件的数据绑定,因此不能同<%=%>和<%%>混合使用补充:针对:<%=%>形式:另外一种情况:aspx代码: ??????????<input type="text" id="a" ?value=<%=DisplayStr()%> /> ?????????<input id="Text1" type="text" ?runat="server" value=<%=DisplayStr()%> />aspx.cs代码: public string ?DisplayStr()//注意这里必须要有返回值,否则将会发生运行时错误 ???????{ ???????????return "bbbb"; ???????}如果是这样的情况的话,就出现运行时错误。最后对这种<%=%>用法强调一句:尽量对客户端控件用这种形式,毕竟它是asp常用语法,不会出现问题。但是对于asp.net的服务器控件就可能不能完全适合的。

asp.net中,<%#%>,<%=%>和<%%>分别是什么意思,有什么区别 --转

原文地址:https://www.cnblogs.com/asdyzh/p/9742054.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved