无法从使用mvc3中推断出类型参数

时间:2011-09-08 08:41:11

标签: c# asp.net-mvc-3

我正在尝试使用扩展方法的强类型视图

<% using (Html.BeginForm()) { %>
    <%: Html.ValidationSummary(true) %>
    <fieldset>
        <legend>MyUsageViewModel</legend>

        <div class="editor-label">
            <%= Html.LabelFor(model => model.test) %>
        </div>   
                              <p>
            <input type="submit" value="Save" />
        </p>
    </fieldset>
<% } %>
    <div>
    <%: Html.ActionLink("Back to List", "Index") %>
</div>

我收到以下错误:

  

方法的类型参数   “System.Web.Mvc.Html.LabelExtensions.LabelFor(System.Web.Mvc.HtmlHelper,   System.Linq.Expressions.Expression&GT)”   无法从使用中推断出来。尝试指定类型参数   明确。

帮助将不胜感激

4 个答案:

答案 0 :(得分:0)

您的模型似乎没有您尝试在Html.LabelFor帮助方法中使用的'test'属性。

答案 1 :(得分:0)

确保您的模型属性是公开的:

public class LocationModel
{
    public double Latitude { get; set; }
    public double Longitude { get; set; }
    public string Name { get; set; }
}

答案 2 :(得分:0)

示例代码未显示可能是问题的类型的定义。确保它位于页面顶部。我现在在平板电脑上,没有要复制/粘贴的示例,但语法应为@model modelType

如果这不是问题,您可以添加模型定义和视图的完整内容吗?

答案 3 :(得分:0)

将一些代码移动到不同的命名空间后,即使我正确地更新了模型引用等,我也看到了同样的问题。解决方案是构建并执行清洁解决方案&#39;然后是&#39; 重建解决方案&#39;