我在視圖中創建了String
,並且希望將其輸出到屏幕。MVC Razor - 將文本輸出到屏幕
最初我嘗試了Response.Write
,但由於本網站其他地方解釋的原因,內容出現在頁面的頂部。然後我嘗試使用@
輸出字符串,如下所示:@myString
。
這工作,它在正確的位置輸出的文本,但它逃過了我放在那裏的HTML鏈接。我如何解決這個問題?
我在視圖中創建了String
,並且希望將其輸出到屏幕。MVC Razor - 將文本輸出到屏幕
最初我嘗試了Response.Write
,但由於本網站其他地方解釋的原因,內容出現在頁面的頂部。然後我嘗試使用@
輸出字符串,如下所示:@myString
。
這工作,它在正確的位置輸出的文本,但它逃過了我放在那裏的HTML鏈接。我如何解決這個問題?
您可以使用Html.Raw()
:
@Html.Raw(MyStringVar)
感謝您的答案。這幫助我解決了這個問題:) – 2014-12-04 13:25:25
而是字符串你將要使用:
@{
var myString = new MvcHtmlString("<tags>Text</tags>");
}
然後,當你在線使它:
@myString
它會顯示正確的值,而不是逃脫文本。
編輯:另類
另一種選擇是你可以創建MvcHtmlString直列所以它呈現恰如其分。
@(new MvcHtmlString(myString))
甚至更好'@ MvcHtmlString.Create(myString)' – Silvermind 2012-07-25 15:32:11
@Silvermind'MvcHtmlString.Create'實際上只有'new MvcHtmlString' ...但同意在Razor視圖中語法變得更清晰。請參閱https://github.com/ASP-NET-MVC/aspnetwebstack/blob/4e40cdef9c8a8226685f95ef03b746bc8322aa92/src/System.Web.Mvc/MvcHtmlString.cs#L22 – 2018-01-02 12:54:00
可以使用Html.Raw功能此
例如:
@Html.Raw(Model.YourString)
你可以這樣做:
@Html.Raw(myString)
@model的myString
@ Html.Raw(型號)
嘗試@ Html.Raw(myString的)。
我不建議這樣做。出於各種原因,您不會將html輸出發送到屏幕。如果要將文本放在屏幕的某個部分,請在視圖中使用html/css樣式並僅發送輸出。
有些情況下,像用戶控件基於HTML助手,你想直接發送HTML到屏幕。一般來說,我會同意你的看法,但是我正在制定的當前體系結構對基本用戶控件和直接HTML呈現有巨大的需求。所以我不太快判斷別人想要渲染內聯HTML(雖然有更好的方法可以完成這個任務,但是誰知道他們爲什麼需要這樣做)。 – VulgarBinary 2012-07-25 16:29:19
直到您將任何回覆標記爲答案,您將獲得更多相同的回覆:) – VJAI 2012-07-25 17:11:26