asp.net-mvc – 在App_Code中的共享@helper中使用@Html
发布时间:2020-05-23 12:12:55 所属栏目:asp.Net 来源:互联网
导读:我正在建立一个非常基本的MVC3网站,而我学习的时候我遇到了以下声明性的Razor html助手。 里面的RMB.cshtml里面的App_Code文件夹: @helper ReplaceCrLf(string strText){ @Html.Raw(Html.Encode(strText).Replace(Environment.NewLine, br /));} 在我的in
|
我正在建立一个非常基本的MVC3网站,而我学习的时候我遇到了以下声明性的Razor html助手。 里面的RMB.cshtml里面的App_Code文件夹: @helper ReplaceCrLf(string strText)
{
@Html.Raw(Html.Encode(strText).Replace(Environment.NewLine,"<br />"));
}
在我的index.cshtml视图中: @RMB.ReplaceCrLf(Model.Post) 这给我在帮助者中的Html上的一个空引用异常,因为它似乎不知道它是什么。我可以通过将Html从视图传递给帮助者来解决这个问题,但是我想知道,如果我的共享html帮助者有另一种方式能够引用Html,而不必将其传递给我写的帮助器? 为了完整,这里是工作解决方法: 在App_Code中的RMB.cshtml中 @helper ReplaceCrLf(string strText,System.Web.Mvc.HtmlHelper Html)
{
@Html.Raw(Html.Encode(strText).Replace(Environment.NewLine,"<br />"));
}
在index.cshtml视图中 @RMB.ReplaceCrLf(Model.Post,Html) 解决方法我现在将其添加到App_Code中的任何.cshtml文件。// Using's are needed to ensure helpers function correctly.
@using System.Web.Mvc;
@using System.Web.Mvc.Html;
@using System.Web.Mvc.Routing;
@using System.Web.Mvc.Razor;
@functions {
private static WebViewPage page { get { return PageContext.Page as WebViewPage; } }
private static System.Web.Mvc.HtmlHelper<dynamic> html { get { return page.Html; } }
private static UrlHelper url { get { return page.Url; } }
private static dynamic viewBag { get { return page.ViewBag; } }
}
编辑:将帮助器变量名称修改为小写,因为我与内置的助手名称有一些冲突。我已经修改了html帮助程序是通用的,它允许使用TextBoxFor等帮助程序 这使得这些精彩的助手可以使用该文件中的所有@helper方法和函数。 非常感谢Neshta的原创概念! 完整的例子来回答问题: 在App_Code文件夹中的RMB.cshtml中 @functions {
public static WebViewPage page = (PageContext.Page as WebViewPage);
public static HtmlHelper<object> html = page.Html;
}
@helper ReplaceCrLf(string strText)
{
@html.Raw(Html.Encode(strText).Replace(Environment.NewLine,"<br />"));
}
在视图中: @RMB.ReplaceCrLf("line1nline2") // No passing HtmlHelper (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 当调用ASP.NET System.Web.HttpResponse.End()时,当前线程中
- ASP.NET c#获取屏幕宽度(以像素为单位)
- asp.net-mvc – ASP.NET MVC 3远程验证允许原始值
- asp.net-mvc – 如何使用“?”路由查询字符串以及如何处理
- asp.net-mvc – Asp.Net MVC:为什么我的视图将NULL模型传递
- asp.net – 如何处理从“DBNull”类型到“String”类型的转
- asp.net-mvc – asp.net mvc – 如何告诉子操作忽略布局
- asp.net-mvc – ASP.NET MVC – 在ActionFilter中访问控制器
- 修改FCKEditor实现将图片、文件等保存到数据库
- asp.net – 你可以添加一个HtmlGenericControl的子控件吗?
