2010-04-29 59 views
2

我在做什麼錯? <%= this %>如何不被解釋爲C#?ASP.NET/MVC:內聯代碼

下面的代碼:Hosted by imgur.com

而且這裏是它呈現(注意螢火顯示):Hosted by imgur.com

你覺得這是怎麼回事? MVC newb在這裏。 :(

和靜態網站類:Hosted by imgur.com

(如果你不能看到頁面,查看源代碼的截圖和從<img>標籤使用的URL)

+1

放大那件事! – 2010-04-29 03:36:28

+0

和你請求了什麼網址? PS:看起來像現在的圖片不同步:第二代不能與第一代碼生成(我敢打賭)。 – zerkms 2010-04-29 03:51:16

+0

正如zerkms所說,你如何從你的應用程序請求頁面?什麼是路由細節? – 2010-04-29 04:09:15

回答

2

難道不該<% %><%= %>爲的Response.Write的簡寫?

這裏有Embedded Code Blocks的MSDN文章。

+1

<% %>是直接執行代碼,設置變量,循環結構。 <%= %>是<%回覆於(...)%>的當量 <%: %>是<%回覆於(了Html.Encode(...))%> – DevelopingChris 2010-04-29 04:29:46

+0

@DevelopingChris純的當量,可以」等待升級批准。應該在2012年左右。 – ongle 2010-04-29 18:22:35

5

<%: %>點開始使用.NET V4

對於預V4這相當於是<%= Html.Encode(...) %>

+0

更多的信息在這裏http://haacked.com/archive/2009/09/25/html-encoding-code-nuggets.aspx – R0MANARMY 2010-04-29 03:51:05

+0

我的錯誤。刪除 – 2010-04-29 06:00:21

0

此HTML屬性的內部嵌入的代碼時,有時會發生在我身上。我從來沒有確切的原因,但有時你可以通過使用單引號而不是雙引號來繞過它。

4

問題是我在使用runat =「sever」的標籤中使用了<%=%>(或甚至是<%:%>)。