如何将String作为模型传递给MVC 5中的View?

tet*_*ett 2 c# asp.net-mvc

我有一个像这样定义的动作:

    public ActionResult TempOutput(string model)
    {
        return View(model);
    }
Run Code Online (Sandbox Code Playgroud)

而且,我的视图定义如下:

@model String

@{
    ViewBag.Title = "TempOutput";
}

<h2>TempOutput</h2>

<p>@Model</p>
Run Code Online (Sandbox Code Playgroud)

然后,在一个地方,我有一个这样的return语句:

return RedirectToAction("TempOutput", "SEO", new { model = "Tester text" });
Run Code Online (Sandbox Code Playgroud)

关键是当我到达TempOutput视图时,我收到一条错误消息,说"未找到视图'测试人员文本'或其主人,或者没有视图引擎支持搜索到的位置." 但我想在我的视图中打印字符串的值.我怎样才能实现它?

Ale*_*kov 10

您正在调用不同于View您想要的覆盖:

View(string viewName);
Run Code Online (Sandbox Code Playgroud)

你想打电话View(string viewName, string masterName, object model)如下:

return View(null, null, model);
Run Code Online (Sandbox Code Playgroud)

您还可以为视图名称指定显式值(即"TempOutput").

或者,您可以View(object model)通过将"model" 强制转换为强制选择覆盖object:

return View((object)model);
Run Code Online (Sandbox Code Playgroud)