Asp.net mvc 3 如何使用代码中的其他帮助程序构建自定义帮助程序
我正在创建一个自定义帮助程序,以自动化应用程序中的一些代码。我现在想知道如何在我的助手中显示控件。当我返回GetHTML()方法时,页面会像纯文本一样显示HTML。当我使用Render()方法时,控件在主体中呈现为rendere,无序Asp.net mvc 3 如何使用代码中的其他帮助程序构建自定义帮助程序,asp.net-mvc-3,devexpress,razor,Asp.net Mvc 3,Devexpress,Razor,我正在创建一个自定义帮助程序,以自动化应用程序中的一些代码。我现在想知道如何在我的助手中显示控件。当我返回GetHTML()方法时,页面会像纯文本一样显示HTML。当我使用Render()方法时,控件在主体中呈现为rendere,无序 public static string EntityForm(this HtmlHelper helper, Type TypeModel) { return "My Helper" + DevExpress.Web.Mvc.UI.ExtensionsF
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()
}
使用
HtmlString
,这样它就不会对输出进行编码
视图内部的示例
@(新的html字符串(“一些html”))
更改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);
}
使用
HtmlString
,这样它就不会对输出进行编码
视图内部的示例
@(新的html字符串(“一些html”))
更改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);
}
Razor将转义写入页面的所有
字符串。
您需要更改助手方法以返回HtmlString
,这样Razor就不会逃逸它。Razor将逃逸写入页面的所有字符串。
您需要更改助手方法以返回HtmlString
,这样Razor就不会逃脱它。这不是他想要的。@SLaks,他想显示html而不编码它,HtmlString
是正确的方法。第二行只是一个例子。除了它应该放在括号里,而不是大括号里。我通常不会在答案中涉及代码。(虽然也许我应该)这不是他想要的。@SLaks,他想显示html而不编码它,HtmlString
是正确的方法。第二行只是一个例子。除了它应该放在括号里,而不是大括号里。我通常不会在答案中涉及代码。(尽管也许我应该)