尝试调用我的 htmlhelper 时不断收到“无法推断”错误

本文关键字:错误 无法推断 调用 我的 htmlhelper | 更新日期: 2023-09-27 18:36:03

我正在使用Visual Studio Express 2013 for Web和Framework 4.5。My Index.view 调用此部分视图:

@Html.Partial("_MyCategories", Model)

我的模型在分部视图中引用:

@using MyApp.ModelHelpers
@model MyApp.Models.MyViewModel

在部分视图中,我尝试在模型的循环中调用htmlHelpers类:

@Html.SpecialTextBoxFor(Model.Category[i].Name)

在 htmlHelpers 类中,我有这个方法:

public static MvcHtmlString SpecialTextBoxFor<TModel, TProperty>(this HtmlHelper htmlHelper, Expression<Func<TModel, TProperty>> expression)

当我尝试使用以下方法从部分视图调用我的 htmlhelper 时:

@Html.SpecialTextBoxFor(Model.Category[i].Name)

我收到此错误:方法'MyApp.HtmlHelpers.SpecialTextBoxFor(System.Web.Mvc.HtmlHelper, System.Linq.Expressions.Expression>)'的类型参数无法从用法中推断出来。尝试显式指定类型参数。

我试过了

@Html.SpecialTextBoxFor(m => m.Category[i].Name)

点后,找不到类别

在我的 web.config 中,我有正确的设置:

<compilation debug="true" targetFramework="4.5" />

我尝试根据一些帖子将其重置为 4.5.1,但没有变化。

我验证了我在视图 web.config 中对我的命名空间的正确引用:

<add namespace="MyApp" />

而且我在我的global.asax中也有.cs

ViewEngines.Engines.Add(new RazorViewEngine());

我还应该尝试什么!?

尝试调用我的 htmlhelper 时不断收到“无法推断”错误

您需要将

扩展函数的声明更改为:

public static MvcHtmlString SpecialTextBoxFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression)
相关文章: