我想将模型传递给我,我尝试过
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
变量)是字符串,因此被解释为布局而不是模型。