2010-09-03 84 views
3

可能重複:
ASP.NET 「special」 tags差之間<%:和<%=

我希望這不是一個太大的新手問題。我似乎總是使用正確的語法,但我不明白爲什麼我在ASP.NET中使用<%和<%=,我希望有人能爲我澄清。我found this article which explains <%= and <%#,但無法在Google上找到<%的任何內容。這裏,我使用的各種語法

實例:

<div> 
    <%: Html.LabelFor(model => model.Type) %> 
    <%: Html.TextBoxFor(model => model.Type)%> 
</div> 

<div id="header-menu"> 
    <ul> 
    <li><%= Html.ActionLink("Home", "", "Home")%></li> 
    </ul> 
</div> 

感謝任何澄清。

可能的答案(每ChrisF):ASP.NET "special" tags

+0

的可能重複的[ASP.NET 「特殊」 的標籤](http://stackoverflow.com/questions/649428/asp-net-special-tags) - 不直接問這個問題,但接受的答案包括這個新標籤。 – ChrisF 2010-09-03 21:10:32

+1

@ChrisF - 感謝您指出。當我在這裏尋找時沒有發現。我將編輯我的帖子指向那裏,如果他們願意的話,人們可以隨時關閉它。 (如果有人在這裏添加任何東西,那也會很棒。)再次感謝! – JasCav 2010-09-03 21:12:00

回答

4
<%: "some string" %> 

等於:

<%= Html.Encode("some string") %> 
+0

哇,酷,我不知道。 – 2010-09-03 21:14:02

+1

是的,但是'<%:someMvcHtmlString%>'不會與'<%= Html.Encode(someMvcHtmlString)%>'相同,但是Asp.net MVC會識別'MvcHtmlString'並避免重複編碼。其實,一般來說就是'IHtmlString'。 – 2010-09-03 21:16:01

+0

@lasseespeholt,你是對的。這裏是另一篇關於新的Html編碼輸出語法的文章:http://weblogs.asp.net/scottgu/archive/2010/04/06/new-lt-gt-syntax-for-html-encoding-output-in-asp -net -4-和-ASP淨MVC-2.aspx – 2010-09-03 21:24:26

3

<%:是自動HTML編碼數據的新方式。文章來自Haacked就可以了。 .NET 4.0新手

+0

需要注意的是,您通過傳遞一個「IHtmlString」(即表示它知道如何創建有效的HTML)來選擇退出HTML編碼。他們說「<%: %>」應該完全取代「<%= %>」。 – bdukes 2010-09-03 21:25:18

+0

好加! – 2010-09-03 21:40:26

相關問題