0

我知道这可能很简单,但我最近在我的模型项目中添加了一个文件夹,并将我的所有模型都放在那里。完成此操作后,我收到一条错误消息,提示“在 CapWorx.QuikCap.Models 中找不到类型或命名空间‘填充器’”。正如预期的那样,因为我将“填充”移动到了一个新位置。我在 CapWorx.QuikCap.Models.Data 中放置了“填充物”。这是错误:

在此处输入图像描述

当我单击页面上的填充项并且页面应该转到该项目的编辑表单时出现错误:这是我的编辑方法在我的控制器中的样子。请记住,在单步执行代码时,我从未在代码中遇到任何错误。事实上,如果我将鼠标悬停在“填充”上,它会显示所有属性,这是应该在下一个屏幕(编辑)上显示的,但我得到了错误。

public ActionResult Edit(int id, int cappk)
    {
        filler filler = db.fillers.Find(id);
        if (filler == null)
        {
            return HttpNotFound();
        }

        ViewBag.capsule_fk = new SelectList(db.capsules, "pk", "name", filler.capsule_fk);
        return View(filler);
    }

我已经将我的 using 语句更新为using CapWorx.QuikCap.Models.Data, from using CapWorx.QuikCap.Models

是否有某种缓存正在保留旧位置?下面是我的 CapWorx.QuikCap.Models 项目的屏幕截图。'filler' 在 DataModel.edmx 中定义:

在此处输入图像描述

4

1 回答 1

0

此问题的解决方案是我的填充对象的编辑视图(这是应用程序在抛出此错误之前试图转到的内容)在页面顶部声明了对我的填充对象的错误引用。之前,这是我页面顶部的样子:

@model CapWorx.QuikCap.Models.filler

@{
    ViewBag.Title = "Edit Existing Filler";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

然后,我将其更改为:

@model CapWorx.QuikCap.Models.Data.filler

@{
    ViewBag.Title = "Edit Existing Filler";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

然后,它奏效了。大多数人很容易忽略这一点,因为我没有收到任何编译时错误,即使我在此页面上有红色波浪线。感谢所有的建议。

于 2013-02-08T19:57:26.917 回答