2009-06-05 231 views
186

我已經在傳統的ASP和ASP.NET中編程,並且我在服務器端代碼的標記中看到了不同的標記。

我最近遇到一個good blog on MSDN是越過之間的區別:(用等號一起百分比)和

  • <%#(百分號和哈希/英鎊/井號)
    • <%=

    <%#僅在數據綁定處評估,<%=在渲染時評估),但我也看到:

    • <%$(百分比和美元符號)和
    • <%@(百分號和符號)。

    我相信<%@加載類似程序集的東西,或許<%$從配置文件加載東西?我不太確定。

    我只是想知道是否有人可以爲我澄清這一切,並可能解釋爲什麼創建如此多不同的標籤看起來有類似的目的是很重要的?

    +62

    我很高興你問,因爲它是很難谷歌;) – 2009-06-05 18:18:56

    +8

    不可能谷歌! – jdbosley 2014-07-25 16:18:03

    +0

    ''%#'經常與'eval'一起使用,但它並不必須:您可以使用它來運行任何服務器端代碼,只要您在包含頁面或其頁面上運行「Page.DataBind()」母版頁。看起來,如果你想將服務器端代碼「注入」服務器端控件的屬性,例如''。 – 2015-04-30 07:20:56

    回答

    263
    +0

    我想這是因爲這是一個被接受的答案,但試圖編輯/ w鏈接不起作用。這裏是我嘗試將關於「<%$」表達式評估的鏈接:http://msdn.microsoft.com/en-us/library/d5bd1tad.aspx – 2011-09-15 21:32:02

    +0

    太棒了!我知道這是舊的,但我最近2天一直在網上查找這個信息。謝謝! – jdbosley 2014-07-25 16:16:58

    +5

    所有這些都有名字嗎?這些稱爲一個羣體是什麼? – Vippy 2015-02-26 18:25:33

    4

    你已經瞭解其中2(<%#僅在數據綁定評價,並<%=在渲染計算的),併爲「<%@」答案是,它的編譯器指令(即,這樣的東西是什麼你會穿上一個編譯器的命令行)。

    我不知道「<%$」。