如何在代码中使用其他帮助程序构建自定义帮助程序
我正在创建一个自定义助手来自动执行应用程序中的某些代码。我现在想知道如何在我的助手中显示控件。当我返回 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()
}
I'm creating a custom helper to automate some code in my application. I'd like now how display a control in my helper. When I return the GetHTML() method, the page display the HTML like a plain text. When I use the Render() method the control is rendere in body, out of order.
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()
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用
HtmlString
,这样它不会对输出进行编码。视图内部的示例
@(new HtmlString("
"))
更改 Html Helper
尝试将您的方法更改为以下内容:
Use
HtmlString
, this way it does not encode the output.Example from inside a view
@(new HtmlString("<div>some html</div>"))
Changing your Html Helper
Try changing your method to the following:
Razor 将对写入页面的所有
字符串
进行转义。您需要更改辅助方法以返回
HtmlString
,以便 Razor 不会转义它。Razor will escape all
string
s written to the page.You need to change your helper method to return an
HtmlString
so that Razor won't escape it.