[英]Building HtmlStrings in ASP.NET MVC
我有一個需要返回HtmlString的擴展方法。 該方法有一個循環,它將構建HtmlString,但是HtmlString對象沒有Append方法,並且不允許使用+運算符進行連接,所以我不確定如何構建HtmlString。
我想使用StringBuilder,但它沒有ToHtmlString方法......
這個的任何解決方案或模式?
為什么不在return MvcHtmlString.Create(sb.ToString());
構建字符串然后return MvcHtmlString.Create(sb.ToString());
我想你想使用TagBuilder並看看使用TagBuilder類來構建HTML幫助程序
像下面..
// Create tag builder
var builder = new TagBuilder("img");
// Create valid id
builder.GenerateId(id);
// Add attributes
builder.MergeAttribute("src", url);
builder.MergeAttribute("alt", alternateText);
builder.MergeAttributes(new RouteValueDictionary(htmlAttributes));
// Render tag
return builder.ToString(TagRenderMode.SelfClosing);
您可以自己編寫ToHtmlString()
方法作為StringBuilder
上的擴展方法。
有幾個解決方案,包括使用TagBuilder,但使用Html.Raw()對我來說非常好用:
public static IHtmlString HtmlMethod(this HtmlHelper htmlhelper, Object object)
{
var sb = new StringBuilder();
foreach (var item in object)
{
sb.Append(object.outputStr)
}
return htmlHelper.Raw(sb.ToString());
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.