• ASP.NET添加MVC控制器报错


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 weixin_47713614 2024-05-07 18:22 采纳率: 0% 浏览 11 首页/ 后端 / ASP.NET添加MVC控制器报错 asp.netmvc 请问各位,我是完全跟着微软官方MVC使用文档敲的,就是项目名字不一样,代码都一样的,但是我在Controller添加带模板的MVC控制器的时候就报错,报错内容是运行所选代码生成器时出错:"A type with the name MyWeb.Models.Movie does not exist” 以下是vs下方输出的代码生成日志 Finding the generator 'controller'... Running the generator 'controller'... A type with the name MyWeb.Models.Movie does not exist at Microsoft.VisualStudio.Web.CodeGeneration.ActionInvoker.b__6_0() at Microsoft.Extensions.CommandLineUtils.CommandLineApplication.Execute(String[] args) at Microsoft.VisualStudio.Web.CodeGeneration.ActionInvoker.Execute(String[] args) at Microsoft.VisualStudio.Web.CodeGeneration.CodeGenCommand.Execute(String[] args) 百度好半天没百度出来是什么问题,感觉大家都没出现过我这种问题一样,麻烦各位帮忙看看 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    3条回答 默认 最新

    • 专家-赤兔[在线] 全栈领域优质创作者 2024-05-07 18:22
      关注

      引自免费微信小程序:皆我百晓生

      看起来你在尝试创建一个新的ASP.NET MVC控制器,并且遇到了一个类型不存在的错误。这个问题通常是因为模型类(在这个例子中是MyWeb.Models.Movie)在引用它的控制器中没有正确地引入或者模型类本身不存在。

      首先,请确保你已经定义了Movie模型类,并且它位于MyWeb.Models命名空间内。如果你还没有创建这个模型类,你需要创建一个。这是一个基本的Movie模型类的例子:

      using System;
      
      namespace MyWeb.Models {
          public class Movie {
              public int Id { get; set; }
              public string Title { get; set; }
              public DateTime ReleaseDate { get; set; }
          }
      }
      

      保存这个文件后,确保它被保存在项目的Models目录下,且命名空间为MyWeb.Models

      接下来,检查你的控制器文件,确保你正确地引入了MyWeb.Models命名空间并使用了正确的全限定名。在你的控制器类上方添加以下行:

      using MyWeb.Models;
      

      然后,在你的控制器方法中,你应该可以看到Movie类并且可以正常工作。例如,这里是一个基础的控制器示例:

      using System.Web.Mvc;
      
      namespace MyWeb.Controllers {
          public class MoviesController : Controller {
              // 添加适当的构造函数和所需属性
      
              // GET: /Movies/Create
              public ActionResult Create() {
                  return View();
              }
      
              [HttpPost]
              public ActionResult Create(Movie movie) {
                  if (ModelState.IsValid) {
                      // 保存电影到数据库或其他逻辑
                      return RedirectToAction("Index", "Home");
                  }
      
                  // 如果模型状态无效,重新显示表单
                  return View(movie);
              }
          }
      }
      

      如果以上步骤都没有问题,那么可能是Visual Studio缓存的问题。你可以尝试清理解决方案的临时文件夹,或者关闭Visual Studio,删除.vs隐藏文件夹,然后再重启项目。这通常能解决因缓存导致的问题。

      如果问题依然存在,请检查是否存在拼写错误或者大小写不一致的情况。.NET是区分大小写的语言,所以MyWeb.Models.Moviemyweb.models.movie会被视为不同的类型。

      如果问题仍未解决,请提供具体的控制器代码,这样我可以更准确地帮你排查问题。

      展开全部

      评论 编辑记录
    • GISer Liu 2024-05-08 02:51
      关注

      该回答引用自GPT-3.5,由博主GISer Liu编写:

      这个问题可能是由于控制器生成器无法找到指定的模型类引起的。一般情况下,这种问题可能有以下几种原因:

      1. 命名空间问题 :确保在控制器生成器中正确指定了模型类的完整命名空间。如果模型类的命名空间不正确,生成器就会找不到它。
      2. 模型类不存在 :检查一下你的项目中是否真的存在名为 Movie 的模型类,并且确保它在 MyWeb.Models 命名空间下。
      3. 项目编译问题 :有时候如果项目中存在编译错误,生成器可能无法正确地解析模型类。确保你的项目能够成功编译通过。
        解决这个问题可以按照以下步骤进行:

        1. 确认模型类存在

        确保在项目中存在名为 Movie 的模型类,并且它在 MyWeb.Models 命名空间下。

        2. 检查命名空间

        在控制器生成器中,确保指定了正确的模型类命名空间,例如 MyWeb.Models.Movie

        3. 项目编译

        确保项目能够成功编译通过,检查是否有其他编译错误导致生成器无法正确解析模型类。
        如果你仍然无法解决问题,可以尝试手动创建控制器,而不是依赖生成器。你可以在 Visual Studio 中右键点击 Controllers 文件夹,选择添加

      -> 控制器,然后手动输入控制器名称和模型类名称。

      如果该回答解决了您的问题,请采纳!如果没有,请私信联系或评论您的疑惑

      评论
    • DTcode7 前端领域优质创作者 2024-05-15 04:23
      关注

      答案引用自chatgpt生成,望对题主有所帮助/启发;若有帮助,还望采纳!

      ASP.NET添加MVC控制器报错可能有多种原因,以下是一些常见的解决方案:

      1. 检查命名空间和类名:确保你的控制器类名和命名空间与项目要求一致。例如,如果你的控制器类名为HomeController,那么它的命名空间应该是YourProjectName.Controllers

      2. 检查引用:确保你已经引用了正确的程序集。在项目中添加MVC控制器时,需要引用System.Web.MvcMicrosoft.AspNet.Mvc这两个程序集。

      3. 检查项目类型:确保你的项目是一个ASP.NET MVC项目,而不是一个Web Forms项目。你可以在项目的属性中查看项目类型。

      4. 检查NuGet包:确保你已经安装了正确的NuGet包。对于ASP.NET MVC项目,你需要安装Microsoft.AspNet.Mvc这个包。

      5. 检查web.config文件:确保你的web.config文件中有正确的配置。例如,你需要有一个元素,并且它的host属性应该设置为*

      6. 检查IIS设置:如果你在本地运行项目,确保你的IIS设置允许ASP.NET MVC应用程序运行。

      如果以上方法都不能解决你的问题,你可能需要提供更多的错误信息,以便更准确地找出问题所在。

      评论
    编辑
    预览

    报告相同问题?

  • 相关阅读:
    【Android】画面卡顿优化列表流畅度五之下拉刷新上拉加载更多组件RefreshLayout修改
    全域全自主建设,亚信科技AntDB数据库助力广电5G业务上线运行
    网络拥塞控制的经济学原理
    HTML5的基础知识的梳理及常用标签
    GBase产品学习-SetSysEnv.py脚本
    关于空指针异常
    Python内置函数--super()
    Linux安装Git-两种方式详细教程)
    pandas groupby to csv
    【java学习—九】抽象类和抽象方法(3)
  • 原文地址:https://ask.csdn.net/questions/8099977