我收到以下错误:

The type arguments for method 'System.Web.Mvc.Html.DisplayExtensions.DisplayFor<TModel,TValue>(System.Web.Mvc.HtmlHelper<TModel>, System.Linq.Expressions.Expression<System.Func<TModel,TValue>>, string)' cannot be inferred from the usage. Try specifying the type arguments explicitly.

这是我的部分观点:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MyApp.Data.Person>" %>



这是我的 FormBoolean 显示模板:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Boolean>" %>
<div class="formValueShort"><%= Html.Encode(Model ? "Yes" : "No") %></div>

任何人都可以对此有所了解吗?我也试过 'LabelFor'(不包括 'FormBoolean')、HiddenFor、EditorFor - 都给出了相同的信息。这很奇怪,因为我在我的项目中使用了这些,所以我不确定为什么它会停留在这个特定的地方。

如果我需要提供更多信息,请告诉我!

最佳答案

DisplayFor 的第一个参数是 lambda expression 。你需要这样调用:

<%: Html.DisplayFor(m => m.OnAlert, "FormBoolean") %>

关于c# - Html.DisplayFor 编译错误 - MVC 2,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8734841/

10-12 12:30