我想将模型传递给我,我尝试过

public ActionResult Properties(string projet) {
            string s = projet;
            if (projet != null)
                return View("Properties", s);
            return RedirectToAction("Index", "Akeo");

        }


在此示例中,projet的值为projet2。在程序启动时:出现此错误:~/Views/Akeo/Properties.aspx~/Views/Akeo/Properties.ascx~/Views/Shared/Properties.aspx~/Views/Shared/Properties.ascx~/Views/Akeo/Projet 2.master~/Views/Shared/Projet 2.master~/Views/Akeo/Projet 2.cshtml~/Views/Akeo/Projet 2.vbhtml~/Views/Shared/Projet 2.cshtml~/Views/Shared/Projet 2.vbhtml
找不到这些视图之一,但是我这样创建了视图Properties


我怎么了我该如何纠正?

最佳答案

应该是这样的:

return View("Properties", (object)s);


为什么?

因为this overload之间有区别(这就是您所说的):

protected internal ViewResult View(
    string viewName,
    string masterName
)


this overload(这是您需要的):

protected internal ViewResult View(
    string viewName,
    Object model
)


问题源于您的模型(s变量)是字符串,因此被解释为布局而不是模型。

10-07 14:43