[英]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格式存儲)嗎?
解決我的問題的一種方法是:
string
更改為IHtmlString
我在幫助器中替換以下行:
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.