【问题标题】:ASP.NET MVC Newbie: why isn't my model available when creating a strongly-typed view?ASP.NET MVC 新手:为什么在创建强类型视图时我的模型不可用?
【发布时间】:2009-08-13 11:55:43
【问题描述】:

我从 ASP.NET MVC 开始,并使用 NerdDinner 作为参考。我做了以下事情:

  1. 创建了一个新项目
  2. 添加了几个表格
  3. 为他们创建了 LINQ to SQL
  4. 创建了一个新控制器

My Models 目录现在包含 MyModel.dbml,在该目录下有 MyModel.designer.cs,其中包含与我的两个表相关的模型类(我们称它们为类别和产品)。

现在,在我的新控制器下,我想创建一个强类型视图。例如,我的控制器中有以下代码(对于我的应用程序,我必须按名称工作,并且“名称”字段是唯一的):

    public ActionResult Details(string name)
    {
        MyModelDataContext db = new MyModelDataContext();
        Product user = db.Products.Single(t => t.Name == name);
        return View(user);
    }

我想创建一个强类型视图。所以我右键单击“return View(user)”行,然后选择“添加视图...”。我单击“创建强类型视图”。当我点击“查看数据类”的下拉菜单时,我看不到我的模型,而只有:

  1. MyProject.Controllers.AccountMembershipService
  2. MyProject.Controllers.FormsAuthenticationService

我错过了什么?

【问题讨论】:

  • 解决方法,以防您不知道 - 更改视图的签名:System.Web.Mvc.ViewPage => System.Web.Mvc.ViewPage

标签: asp.net-mvc views strongly-typed-view


【解决方案1】:

重新编译您的项目,在您重新编译之前,刚刚添加的模型类不会出现在列表中。

【讨论】:

  • 有时页面上的错误会导致你的智能感知在视图中爆炸。重新编译并运行(因此 asp.net 编译您的页面)有时会显示您搞砸的地方。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-23
  • 2015-08-18
  • 1970-01-01
  • 1970-01-01
  • 2013-04-10
相关资源
最近更新 更多