如何让mvc用不同的名称调用视图?

本文关键字:调用 视图 mvc | 更新日期: 2023-09-27 18:04:20

我的控制器中有以下内容:

    public ActionResult Tests()
    {
    }
    public ActionResult Test()
    { 
    }

我想让两个都去参加考试。返回时查看cshtml视图。谁能告诉我这是否可能。我知道Test会默认转到Test。但是测试呢?我如何将其指向Test.cshtml?

或者我应该保持这些作为两个视图和使用RenderPartial?如果我这样做了,那么我怎么能传递我的模型到RenderPartial视图?

谢谢,

如何让mvc用不同的名称调用视图?

返回

时提供视图名称

似乎你还没有真正检查方法重载。当从控制器动作返回时,有几个可能的重载返回ViewResult结果。其中之一允许您提供视图名称:

public ActionResult Tests()
{
    ...
    // provide the model too if you need to
    return View("Test", model);
}
public ActionResult Test()
{ 
    ...
    // provide the model too if you need to
    return View("Test", model);
}

Html。RenderPartial也有重载

对于Html.RenderPartial也是如此,您也可以在调用它时提供模型。查看它的扩展方法。

我建议你查看文档,因为你会了解更多。

使用这个重载

return View("Test");

这将返回名为"Test"的视图,尽管调用了

View的重载允许您显式地命名要使用的视图。

public ActionResult Tests()
{
  return View("Test");
 }
 public ActionResult Test()
 { 
   return View("Test");
 }

是,只需指定视图名称:

return View("Test");