【发布时间】:2017-01-25 19:47:42
【问题描述】:
我想知道下面的黑客是否可能。 尝试了多种方法,但它需要在 action 方法中使用一些条件语句。
我很可能正在寻找基于路由的解决方案,但不确定如何实现。
假设我有一个 Acton Method Index()
public ActionResult Index()
{
return View();
}
上述方法是在家庭控制器下。 此外在 Views > Home 文件夹中还有两个视图文件...
- Index.cshtml
- Index_New.cshtml。
我相信可以使用在 URL 参数中传递的 id 加载不同的视图,但这需要更改上述操作方法,我不希望这样。
我们可以在不改变动作方法的情况下做一些事情吗?
- http://example.com/Home/Index 应该加载 Index.cshtml
和
- http://example.com/Home/New/Index 应该加载 Index_New.cshtml 吗?
【问题讨论】:
-
可能,但您必须创建一个新操作,并在路由中将新网址映射到该操作
-
不是不改变动作方法,没有。您可以基于 URL 在同一视图中分支以显示不同的 HTML,而无需更改操作,但您无法加载完全不同的视图。
标签: asp.net asp.net-mvc razor asp.net-mvc-routing