asp.net 内嵌代码

在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()方法)
特别注意:只有服务器控件才能用<%#%>语法
< 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();              
             }
         }

运行显示出来的效果

三. <%=%>
这种形式实际上是由<%%>扩展而来的.等价于: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 >


运行都会出现相同的错误



最后注意一点:
<%#%>只针对的是服务器控件的数据绑定,因此不能同<%=%>和<%%>混合使用

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值