2013-06-24 22 views
1

我在我的網站有不同的控制器,其中一些在WebSite/Controller文件夾中,一些在網站/區域/測試/控制器。MVC重定向到另一個控制器在不同的命名空間,但同一個項目

當我點擊Website/Controller/Home/Index時,我想用查詢字符串PArameter將用戶重定向到Website/Area/Test/Controller/Home/Index。

這裏是我的第一個控制器

namespace mySite.Controllers 
{ 
public partial class HomeController : BaseFrontController 
    { 
    public virtual ActionResult Index() 
     {   
      var issuburl = channelRepository.GetChannelByUrl('UserID'); 
      if (issuburl != null) 
       return Redirect("~/Areas/Test/Controllers/Index"); 

      return View(); 
     } 
    } 
} 

,這裏是我的第二個控制器

namespace mySite.Areas.Test.Controllers 
{ 
public partial class HomeController : BaseTestController 
    { 
    public virtual ActionResult Index(string param) 
     {   
      var chn = rep1.GetChannel(param); 
      if (chn != null) 
      { 
       model.Chn = chn; 
      } 
      else return Redirect("~/Error/Index");  
      return View(); 
     } 
    } 
} 

我的差錯控制在MYSITE /控制器文件夾,我可以訪問它的MySite /地區/測試/控制器內,但我如何訪問內部的Mysite/Controller控制器 MySite/Area/Test/Controller

下面的代碼不起作用

return Redirect("~/Areas/Test/Controllers/Index"); 

回答

3

你試過了嗎?

return RedirectToAction("Index", "controller", new { area = "Test" }); 

它使用RedirectToAction

要指定不同的參數,你可以使用

return RedirectToAction("Index", "controller", new { area = "Test", yourParam1 = "param1", yourParam2 = "param2" }); 
+0

謝謝,它的工作原理,現在我怎麼可以指定參數? –

0

試試這個:

return RedirectToAction("Index", "controller", new { area = "Test" }); 
相關問題