我们有一个MVC应用程序,我的主页中有不同的链接。每个链接在Controller中触发相同的操作。我需要根据用户点击的链接动态显示控制器的不同名称。请让我知道如何实现这一目标。
例:
现有:http://myapp.com/mycontroller/myaction
我需要什么:
http://myapp.com/mycontroller1/myaction
http://myapp.com/mycontroller2/myaction
http://myapp.com/mycontroller3/myaction
PS:mycontroller1,mycontroller2,mycontroller3不是实际控制器
答案 0 :(得分:0)
如果在RouteConfig RegisterRoutes中添加
routes.MapMvcAttributeRoutes();
在您可以使用的操作中
[Route("mycontroller1/myaction")]
[Route("mycontroller2/myaction)]
[Route("mycontroller3/myaction)]
public ActionResult Index()
{
}
我认为这是一种简单的方法
答案 1 :(得分:0)
您可以在必需的链接上调用以下网址,这些网址会将唯一ID传递给 相同的控制器方法,基于该方法,视图将是 动态路由到所需的路径..
触发/事件:
Link-1 http://myapp.com/mycontroller/myaction?id=1
Link-2 http://myapp.com/mycontroller/myaction?id=2
Link-3 http://myapp.com/mycontroller/myaction?id=3
C#代码
public ActionResult Index(int id)
{
if(id==1)
{
return View ("mycontroller1/myaction");
}
else if(id==2)
{
return View ("mycontroller2/myaction");
}
else if(id==3)
{
return View ("mycontroller3/myaction");
}
return View();
}
快乐的编码!!