如何路由到另一个控制器?

时间:2010-10-09 08:31:04

标签: c# asp.net asp.net-mvc-routing

行 我有两个不同的控制器,比如controllerA和controllerB,现在来自controllerA 我必须将一些参数重定向到controllerB并在controllerA中写入

RedirectToAction("ControllerBAction", new { keywords = text });

如何在global.asax.cs中定义路由?

我是MVC的新手。感谢所有帮助

1 个答案:

答案 0 :(得分:1)

首先,您没有 为此定义路线。如果保持原样,MVC将为您生成一个查询字符串,您的路线将如下所示(给定关键字文本为“abc”):

/ControllerBAction?keywords=abc

如果您不希望将关键字作为查询字符串的一部分,那么您可以定义如下路线:

routes.MapRoute("KeywordsRoute", "{controller}/{action}/{keywords}");

如果您这样做,请将放在默认路线之前。这将生成如下所示的URL:

/ControllerBAction/abc

<强>更新 如果您只想知道如何从一个控制器重定向到不同的控制器,那么您只需使用RedirectToAction()方法的不同重载,如下所示:

return RedirectToAction("ControllerBAction", "ControllerBName", new { keywords = text });