【问题标题】:Error: The name 'm' does not exist in the current context错误:当前上下文中不存在名称“m”
【发布时间】:2013-12-27 05:24:11
【问题描述】:

我正在使用以下内容:

@model IEnumerable<Abc.Service.Shared.Models.Company>

@Html.TextBoxFor(m >= m.Name , new { @id="CompanySearch" })

我得到错误:

CS0103:当前上下文中不存在名称“m”

谁能帮我解决这个问题?


纠正箭头后,我得到另一个错误:

@Html.TextBoxFor(m => m.Name , new { @id="CompanySearch" })

CS0411:方法 'System.Web.Mvc.Html.InputExtensions.TextBoxFor(System.Web.Mvc.HtmlHelper, System.Linq.Expressions.Expression>, string)' 不能从用法中推断出来。尝试明确指定类型参数。

【问题讨论】:

    标签: asp.net asp.net-mvc asp.net-mvc-3 razor


    【解决方案1】:

    所以你的代码有两个问题,

    1. 正如大多数其他人所指出的,您的语法错误 ">="
    2. 您的模型是IEnumerable&lt;Abc.Service.Shared.Models.Company&gt; 的类型。当您执行@Html.TextBoxFor 时,您正试图从模型中获取一个属性。在您的情况下,您正试图从模型 IEnumerable 中获取属性“名称”,这显然是行不通的。

    我假设 Name 是您的 Abc.Service.Shared.Models.Company 对象的属性,并且您正在尝试显示文本框列表。这是您如何执行此操作的参考: MVC with TextBoxFor having same id within loop

    【讨论】:

      【解决方案2】:

      这里有语法问题,

      @Html.TextBoxFor(m >= m.Name , new { @id="CompanySearch" })
      

      应该是

      @Html.TextBoxFor(m=> m.Name , new { id = "CompanySearch" })
      

      @Html.TextBoxFor(m => m.Name, htmlAttributes: new { id = "CompanySearch" })
      

      并且Name应该在你的模型中声明为Public,这应该只适用于单个对象,因为你使用模型类型为IEnumerable,你应该使用循环来访问你的Collection中的对象

      【讨论】:

      • 出现新错误。 CS0411:方法 'System.Web.Mvc.Html.InputExtensions.TextBoxFor(System.Web.Mvc.HtmlHelper, System.Linq.Expressions.Expression>, string)' 不能从用法中推断出来。尝试明确指定类型参数。感谢您的帮助
      【解决方案3】:

      这里有语法问题,

      @Html.TextBoxFor(m >= m.Name , new { @id="CompanySearch" })
      

      应该是这样的

      @Html.TextBoxFor(m => m.Name , new { @id="CompanySearch" })
      

      但是如果你在视图中使用你的类的IEnumerable&lt;classname&gt;,你就不能获取/使用Name属性 所以这就是为什么它给你错误

      【讨论】:

        【解决方案4】:

        请查看您使用的语法

        @Html.TextBoxFor(m >= m.Name , new { @id="CompanySearch" })
        

        应该是这样的

        @Html.TextBoxFor(m => m.Name , new { @id="CompanySearch" })
        

        有关 MVC

        的更多信息,请参阅此链接

        http://www.asp.net/mvc

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-06-01
          • 2010-12-17
          • 2019-01-16
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多