Asp.net mvc 3 MVC3 ViewModel命名空间问题

Asp.net mvc 3 MVC3 ViewModel命名空间问题,asp.net-mvc-3,namespaces,viewmodel,Asp.net Mvc 3,Namespaces,Viewmodel,我正在尝试创建ViewModel类。在我在“ViewModels”文件夹中创建类之后。无法识别我的列表类型声明。我的问题和代码如下: 是否有一些创建ViewModel类的特殊方法 ViewModels是MVC3中的一种方法,而不是一种功能吗 有人能告诉我我错过了什么吗 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespa

我正在尝试创建ViewModel类。在我在“ViewModels”文件夹中创建类之后。无法识别我的列表类型声明。我的问题和代码如下:

  • 是否有一些创建ViewModel类的特殊方法
  • ViewModels是MVC3中的一种方法,而不是一种功能吗
  • 有人能告诉我我错过了什么吗

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    
    namespace MvcApplication8.ViewModels
    {
            //compiler does not recongize List class or SelectListitem
            private List<SelectListItem> _products = new List<SelectListItem>();
    
            //compiler does not recongize List class
            public List<SelectListItem> products
            {
                get { return _products; }
            }
    
    }
    
    使用系统;
    使用System.Collections.Generic;
    使用System.Linq;
    使用System.Web;
    使用System.Web.Mvc;
    命名空间MVCAPApplication8.ViewModels
    {
    //编译器不会重新定义列表类或SelectListitem
    私有列表_products=新列表();
    //编译器不重新定义列表类
    公开上市产品
    {
    获取{return\u products;}
    }
    }
    
    是否有一些创建ViewModel类的特殊方法

    ,像创建任何其他类一样创建它们。惯例是将它们放在Models文件夹中

    ViewModels是MVC3中的一种方法,而不是一种功能吗

    有点。它们不是框架本身的一个特性,而是保持视图的简单和干净,并简化模型绑定的建议

    有人能告诉我我错过了什么吗谢谢

    你的课程声明在哪里?

    namespace MvcApplication8.ViewModels
    {
       public class ThisIsTheClassNameAndMustGoFirst
    
    是否有一些创建ViewModel类的特殊方法

    ,像创建任何其他类一样创建它们。惯例是将它们放在Models文件夹中

    ViewModels是MVC3中的一种方法,而不是一种功能吗

    有点。它们不是框架本身的一个特性,而是保持视图的简单和干净,并简化模型绑定的建议

    有人能告诉我我错过了什么吗谢谢

    你的课程声明在哪里?

    namespace MvcApplication8.ViewModels
    {
       public class ThisIsTheClassNameAndMustGoFirst
    
  • 使用Razor创建一个新的空MVC3项目
  • 在“模型”文件夹下添加类定义,即:

    namespace MvcApplication1.Models
    {
        public class WhateverNameYouWantModel
        {
            public string Foo { get; set; }
            public string Bar { get; set; }
        }
    }
    
  • 右键单击控制器文件夹并添加新控制器。名称必须以“Controller”结尾。不要费心检查添加操作方法的选项。控制器将如下所示:

    using System.Web.Mvc;
    using MvcApplication1.Models;
    
    namespace MvcApplication1.Controllers
    {
        public class HelloController : Controller
        {
            public ActionResult Index()
            {
                return View(new WhateverNameYouWantModel());
            }
        }
    }
    
  • 右键单击上面的Index()签名并选择“添加视图”。确保未选中任何内容,视图名称与操作名称“Index”匹配,Razor是引擎。在顶部添加模型类型:

    @model MvcApplication1.Models.WhateverNameYouWantModel
    @{
        Layout = null;
    }
    <!DOCTYPE html>
    <html>
    <head>
        <title>Index</title>
    </head>
    <body>
        <div>hello world!</div>
    </body>
    </html>
    
    @model mvcapapplication1.Models.whatevernameyouwant模型
    @{
    布局=空;
    }
    指数
    你好,世界!
    
  • 将mvc项目设置为您的启动项目,按F5,浏览器将打开到您需要指向的位置

  • 在asp.net mvc中,名称是视图、操作和控制器之间的所有内容。这都是惯例,你不需要坚持,但如果你不坚持,你就得做一些额外的管道

  • 使用Razor创建一个新的空MVC3项目
  • 在“模型”文件夹下添加类定义,即:

    namespace MvcApplication1.Models
    {
        public class WhateverNameYouWantModel
        {
            public string Foo { get; set; }
            public string Bar { get; set; }
        }
    }
    
  • 右键单击控制器文件夹并添加新控制器。名称必须以“Controller”结尾。不要费心检查添加操作方法的选项。控制器将如下所示:

    using System.Web.Mvc;
    using MvcApplication1.Models;
    
    namespace MvcApplication1.Controllers
    {
        public class HelloController : Controller
        {
            public ActionResult Index()
            {
                return View(new WhateverNameYouWantModel());
            }
        }
    }
    
  • 右键单击上面的Index()签名并选择“添加视图”。确保未选中任何内容,视图名称与操作名称“Index”匹配,Razor是引擎。在顶部添加模型类型:

    @model MvcApplication1.Models.WhateverNameYouWantModel
    @{
        Layout = null;
    }
    <!DOCTYPE html>
    <html>
    <head>
        <title>Index</title>
    </head>
    <body>
        <div>hello world!</div>
    </body>
    </html>
    
    @model mvcapapplication1.Models.whatevernameyouwant模型
    @{
    布局=空;
    }
    指数
    你好,世界!
    
  • 将mvc项目设置为您的启动项目,按F5,浏览器将打开到您需要指向的位置

  • 在asp.net mvc中,名称是视图、操作和控制器之间的所有内容。这都是惯例,你不需要坚持,但如果你不坚持,你将不得不做一些额外的管道。

    我从来没有听说过“ViewModels”文件夹,只是项目根目录下的“Models”。在您的示例代码中,我没有看到类定义。我从来没有听说过“ViewModels”文件夹,只是项目根目录下的“Models”。在您的示例代码中,我没有看到类定义。