2012-01-15 61 views
0

我正在使用MVC 3和Razor引擎。 我试图在布局页面中实现一个actionlink,它将改变页面的语言并将我重定向回到调用该事件的页面。处理MVC 3布局动作

所以我的问题是我如何处理布局操作,并知道从哪个url actionlink被调用。

public void Changelanguage() 
    { 
     if (MyClass.CommonFuncs.CheckLang() == "en-US") 
     { 
      MyClass.CommonFuncs.SetArabicLang(); 
     } 
     else 
     { 
      MyClass.CommonFuncs.SetEnglishLang(); 
     } 
     this.Redirect(Request.UrlReferrer.AbsoluteUri); 
    } 

回答

0

你将不得不检测页面重定向到谁重定向到该页面最初使用Request.UrlReferrer上的HttpContext:

http://msdn.microsoft.com/en-us/library/system.web.httprequest.urlreferrer.aspx

或者,通过在原来的页面更改语言时使用的URL,并使用该URL重定向回。

HTH。

+0

它返回一个白色页面与我的控制器/方法的URL我使用this.Redirect(Request.UrlReferrer.AbsoluteUri);并且该方法是空的 – 2012-01-15 21:23:45

+0

@BrianManis我用部分代码更新了这个问题 – 2012-01-15 21:28:41

+0

@BrianManis它现在可以工作了,现在我不知道是什么问题。 TY – 2012-01-15 21:56:53