簡體   English   中英

如何在Mvc幫助器中將Html.Raw(x)作為字符串參數傳遞?

[英]How to pass an Html.Raw(x) as string parameter in a Mvc helper?

我不確定這個問題是否正確,因此我試圖解釋我想要實現的目標,並希望您能為我提供最佳解決方案。

我在項目的許多地方都使用了引導程序模版,因此我提供了一個幫助程序,使我的生活更輕松。

助手僅工作一個例外,我無法以正確的格式提供正文內容。

助手需要4個參數才能運行:

@Html.MyModal(string bodycontent, string title, string closeBtnText, string id)

我將bodycontent像html一樣存儲在數據庫中,並且我@Html.Raw(bodycontent)像這樣使用此幫助程序@Html.Raw(bodycontent)

 @Html.MyModal(Html.Raw(model.Content).toString(), model.Title, resources.Close, model.Id)

顯然無法正常工作,仍然顯示帶有html標簽的內容。

以下是處理bodyContent的幫助程序代碼:

var bodyTag = new TagBuilder("div");
    bodyTag.MergeAttribute("class", "modal-body");
    bodyTag.MergeAttribute("style", "overflow-y: scroll;height:250px;");
    bodyTag.SetInnerText(bodycontent);

bodycontent是輔助參數,類型為字符串。

您能幫我一個解決方案,以便以純文本形式顯示正文內容(在數據庫中以html格式存儲)嗎?

解決我的問題的一種方法是:

  1. 我將bodycontent的數據類型從string更改為IHtmlString
  2. 我在幫助器中替換以下行:

    bodyTag.SetInnerText(bodycontent);

與:

 bodyTag.InnerHtml=bodycontent.ToHtmlString();

現在我的助手正在按預期方式工作:

 @Html.MyModal(Html.Raw(model.Content), model.Title, resources.Close, model.Id)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM