我正在创建一个自定义助手来自动化我的应用程序中的一些代码。我现在想要如何在我的助手中显示控件。当我返回GetHTML()方法时,页面将像纯文本一样显示HTML。当我使用Render()方法时,控件在体内渲染,乱序。
public static string EntityForm(this HtmlHelper helper, Type TypeModel)
{
return "My Helper" + DevExpress.Web.Mvc.UI.ExtensionsFactory.Instance.TextBox(settings =>
{
settings.Name = att.Nome;
}).GetHtml()
}
答案 0 :(得分:1)
使用HtmlString
,这样就不会对输出进行编码。
来自视图内的示例
@(new HtmlString("<div>some html</div>"))
更改您的Html帮助程序
尝试将您的方法更改为以下内容:
public static HtmlString EntityForm(this HtmlHelper helper, Type TypeModel)
{
var html = "My Helper" + DevExpress.Web.Mvc.UI.ExtensionsFactory.Instance.TextBox(settings =>
{
settings.Name = att.Nome;
}).GetHtml();
return new HtmlString(html);
}
答案 1 :(得分:0)
Razor将撤消写入页面的所有string
您需要更改辅助方法以返回HtmlString
,以便Razor不会将其转义。