在asp mvc中根据url参数加载不同的视图,不改变控制器动作方法

时间:2017-01-25 19:47:43

标签: asp.net asp.net-mvc razor asp.net-mvc-routing

我想知道是否可以进行黑客入侵。 尝试了多种方法,但在操作方法中需要一些条件语句。

我正在寻找基于路由的解决方案,但很不确定它是如何实现的。

假设我有单一的Acton Method Index()

public ActionResult Index()
{
    return View();
}

以上方法是在家庭控制器下。 另外在视图中>主文件夹有两个视图文件......

  1. Index.cshtml
  2. Index_New.cshtml。
  3. 我相信可以使用在URL参数中传递的id加载不同的视图,但这需要在上面的操作方法中进行更改,我不希望这样。

    我们可以在不改变动作方法的情况下做些什么来

1 个答案:

答案 0 :(得分:0)

创建一个新的操作方法。更新您的路线注册,以便通过这种新的aciton方法处理请求yourSite/Home/News/Index

以下代码使用属性路由来指定新操作方法的路由模式。如果要返回与约定不同的内容(操作名称)

,可以将视图名称传递给view方法
[Route("Home/News/Index")]
public ActionResult NewsIndex()
{
    return View("Index_New");
}