我已经将我的经典asp.net mvc视图转换为剃刀.在视图中,使用了HtmlHelper的扩展方法(它有重载):
@Html.CustomAction<AccountController, LogOnModel>("displayText", x => x.Register())
Run Code Online (Sandbox Code Playgroud)
而CustomAction签名是:
public static HtmlString CustomAction<TController, TModel>(this HtmlHelper<TModel> view, string displayText, Expression<Func<TController, object>> where TController : Controller
Run Code Online (Sandbox Code Playgroud)
我还在构建时启用了视图编译(通过.proj文件).当我构建项目时,我得到指向该行的这些错误:
参数1:无法从'方法组'转换为'System.Web.WebPages.HelperResult'
'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)'的最佳重载方法匹配有一些无效的参数
这些错误的原因是什么?我该如何纠正?
Razor解析器看到<并认为它是HTML标记.因此,它只Html.CustomAction作为表达式进行解析.
您需要将调用包装在括号中以强制它将整个调用视为单个表达式:
@(Html.CustomAction<AccountController, LogOnModel>("displayText", x => x.Register()))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3664 次 |
| 最近记录: |