這種格式實際上就是和asp的用法一樣的,只是asp中裏面是vbscript或者javascript代碼,而在asp.net中是.net平臺下支持的語言。
特別注意:服務器控件中不能有<%%>語法
(這裏我用C#代碼)
如果是這種格式的話那就是asp.net下特有的,它是控件數據綁定的語法,且必須要調用該控件的DataBind()方法才執行(或者整個頁面Page.DataBind()也就是對所得控件都調用DataBind()方法,在這種情況下不管是服務器控件還是客戶端控件都會綁定)
特別注意:只有服務器控件才能用<%#%>語法(不準確的)
2007-1-25修改於:當整個頁面調用this.DataBinder()方法時,不管是服務器控件還是客戶端控件都會綁定
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>
this.DataBind() 運行顯示出來的效果
三. <%=%>
這種形式實際上是由<%%>擴展而來的.等價於:Response.Write(<%%>)這種形式(不標準,但能看明白),它其實也可以看成是一種綁定.
aspx代碼:
四.<%$%>
這種形式主要用於對web.config文件的鍵值對進行綁定:通常用於連接數據庫的字符串
特別注意:1.綁定的只能是服務器控件
2.只能綁定到服務器控件的某個屬性上。
如果修改aspx中的文件:使用客戶端的控件
運行都會出現相同的錯誤
最後注意一點:
<%#%>只針對的是服務器控件的數據綁定,因此不能同<%=%>和<%%>混合使用
2008-1-25補充:
針對:<%=%>形式:
另外一種情況:
aspx代碼:
最後對這種<%=%>用法強調一句:儘量對客戶端控件用這種形式,畢竟它是asp常用語法,不會出現問題。
但是對於asp.net的服務器控件就可能不能完全適合的。