【发布时间】:2017-05-11 07:03:00
【问题描述】:
我尝试在 cshtml 文件中的 App_Code 中创建一个 Helper。
// 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; } }
}
@helper HelperName(Func<dynamic, dynamic> expression)
{
<div class="form-group">
@Html.LabelFor(model => expression, new { @class = "col-md-2 control-label" })
<div class="col-md-10">
@Html.EditorFor(model => expression, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => expression)
</div>
</div>
}
我不知道这是否可能。我有一些错误:
@Html 不知道 LabelFor,但我把 using 放在最上面
可能 Func 作为参数是错误的
【问题讨论】:
-
这是可能的,检查这个答案如何在你的帮助方法中使用 Html 帮助器:stackoverflow.com/a/12826750/1708859
标签: c# asp.net asp.net-mvc asp.net-mvc-4 razor