,區別

①<script runat="server">代碼段與<%%>內聯代碼段的區別

在asp.net頁面的aspx文件中允許使用<script runat="server">和<%%>標記來插入代碼片斷。這兩種方式有什麼區別呢?

<script runat="server">標記中的代碼跟.cs文件中的代碼地位是一致的,比如像下面這樣聲明一段事件處理代碼

<script runat="server">
    protected void TextBox1_TextChanged(object sender, EventArgs e)
    {
        Trace.Warn("TextBox1_TextChanged");
    }
</script>

<%%>標記,其實更多的是爲了兼容asp的語法而存在的

在asp.net中是用該標記有如下限制:

1.內聯代碼塊必須使用頁的默認語言進行編寫。

2.不能在<%%>標記中聲明函數或者子例程

另外需要注意的是<%%>標記內的內聯代碼是在頁面呈現的Render過程中執行的

已經接近頁面生命週期的尾部

總結一下:

<script runat="server"></script>,在服務器端運行;  
<%%>可以將服務器端的代碼返回值顯示到客戶端。

②<script runat=server>、<%%>和<%#%>的區別
<script runat=server>:Code Declaration Blocks
代碼聲明區
,用於聲明此ASPX頁面動態編譯爲CS文件時的成員變量和方法,此區域內不能直接放置語句和表達式,只能放置方法、屬性等內容
<%%>:Code Render Blocks
渲染代碼區
,放置在此區域內的代碼將會被編譯到PAGE類的Render方法中,編譯順序按照ASPX的自然順序。此區域內只能放置語句不能直接放置表達式,也不能放置方法屬性等;<%=[表達式]%>是<%Response.Write([表達式]);%>的縮寫.
<%#%>:Data Binding Expression Syntax
數據綁定表達式
,在其中放置與數據綁定相關的表達式。
發佈了9 篇原創文章 · 獲贊 4 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章