2013-09-01 50 views
0

我有一個MVC網站,我想實現全球化/本地化。在我的_Layout.cshtml上,我有一個支持我所支持的語言的下拉菜單。當用戶在該下拉列表中選擇一種語言時,它應該自動發佈到服務器,然後呈現新的語言。layout.cshtml的自定義控制器

是否有可能爲_Layout.cshtml創建特定的自定義控制器?如果是,如何?如果不是,我可以採取什麼方式或方法?

在此先感謝!

回答

2

您應該將其移至子動作,然後從佈局視圖調用子動作。

您可以將表單POST設置爲設置cookie/session/DB屬性的單獨操作(在與子操作共享的控制器中),然後重定向回原始URL(通過Request.UrlReferrer或通過隱藏模型 - 綁定字段)。

+0

我可以把孩子的行動給任何控制器嗎? – Gerald

+0

@傑拉德:當然。但是,由於它與POST操作相關聯,所以將它們放在一起更好。 – SLaks

+0

Request.UrlReferrer它不是100%正確的方式,因爲有許多URLReferrer可以被安全軟件/防病毒,防火牆,代理程序阻止的方式。 Pop Ups中的URLReferrer將爲空。 –