小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

<%%>綁定

 liuyci 2010-12-28

 今天第一天開通了博客,心情樂滋滋的,因為可以和園子里的朋友一起研究技術了。我希望把平時在項目中積累的知識以及自己學習的知識同園子里的朋友分享分享。為我們園子的壯大付出自己的一點努力。這是我發(fā)表的第二篇話題,希望對這<%%>語法不熟悉的朋友提供幫助,對已經(jīng)熟悉的朋友,希望能提出你們寶貴的意見。
在asp.net中經(jīng)常出現(xiàn)包含這種形式<%%>的html代碼,我這里特別收集了,總的來說包含下面這樣幾種格式:
一.  <%%>
這種格式實際上就是和asp的用法一樣的,只是asp中里面是vbscript或者javascript代碼,而在asp.net中是.net平臺下支持的語言。
特別注意:服務器控件中不能有<%%>語法
(這里我用C#代碼)

  <%
        
int a = 2;
        
int b = 3;
        
int c = a + b;
        Response.Write(c);
    
%>
二. <%#%>
如果是這種格式的話那就是asp.net下特有的,它是控件數(shù)據(jù)綁定的語法,且必須要調用該控件的DataBind()方法才執(zhí)行(或者整個頁面Page.DataBind()也就是對所得控件都調用DataBind()方法,在這種情況下不管是服務器控件還是客戶端控件都會綁定)
特別注意:只有服務器控件才能用<%#%>語法(不準確的)

2007-1-25修改于:當整個頁面調用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()//注意這里必須要有返回值,否則將會發(fā)生運行時錯誤
        {
            
return "bbbb";
        }
運行效果:

四.<%$%>
這種形式主要用于對web.config文件的鍵值對進行綁定:通常用于連接數(shù)據(jù)庫的字符串
特別注意: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>

運行都會出現(xiàn)相同的錯誤



最后注意一點: 
<%#%>只針對的是服務器控件的數(shù)據(jù)綁定,因此不能同<%=%>和<%%>混合使用


2008-1-25補充:
針對:<%=%>形式:
另外一種情況:
aspx代碼:
          <input type="text" id="a"  value=<%=DisplayStr()%> />
          
<input id="Text1" type="text"  runat="server" value=<%=DisplayStr()%> />
aspx.cs代碼:
 public string  DisplayStr()//注意這里必須要有返回值,否則將會發(fā)生運行時錯誤
        {
            
return "bbbb";
        }
如果是這樣的情況的話,就出現(xiàn)運行時錯誤。


最后對這種<%=%>用法強調一句:盡量對客戶端控件用這種形式,畢竟它是asp常用語法,不會出現(xiàn)問題。
但是對于asp.net的服務器控件就可能不能完全適合的。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多