.Net MVC Controller使用与视图相同的cshtml不同的路由名称

时间:2017-09-15 00:45:52

标签: c# .net controller

在.NET MVC中,我看到它总是遵循这个命名约定:控制器中的RouteName,它是一个名为' RouteName.cshtml'的视图。

我的问题是如何使用具有不同RouteName的SAME cshtml文件?

3 个答案:

答案 0 :(得分:1)

默认的View()方法默认匹配Action名称,但您可以使用View(字符串)方法指定所需CSHTML的路径,如下例所示:

// in action method that is *not* RouteName
return View("RouteName");

答案 1 :(得分:0)

您可以使用partials重复使用CSHTML块;根据您尝试解决的问题,这可能是更好的解决方案。

您可以编辑问题并添加更多背景信息吗?为什么需要从多个ActionResult方法渲染相同的cshtml?你想要完成什么?

答案 2 :(得分:0)

例如,您有一个名为About.cshtml的视图 您有两种操作方法,它们都使用About.cshtml

所以你可以试试

public ActionResult Index()
        {
        var model = "view model";
        // Pass view model as the second parameter
        return View("About", model);
        }

public ActionResult About()
        {
            ViewBag.Message = "Your application description page.";
            // Not need pass view name because view name and action method name are same (About
            return View();
        }