1
我曾在一個文化開關控制,我需要修改 ViewContext.RouteData(「文化」),以檢查是否鑑於當我做以下asp.net mvc 3 ViewContext到新的對象,然後更改tempViewContext.RouteData修改原始ViewContext
Dim routeData As RouteData = ViewContext.RouteData
routeData.Values.Remove("culture")
routeData.Values.Add("culture", cultureValue)
那麼原來的ViewContext.RouteData改變當我改變的RouteData存在 反正。
我曾經測試過做以下,但沒有成功
Dim tempViewContext As New ViewContext(ViewContext.Controller.ControllerContext, ViewContext.View, ViewContext.ViewData, ViewContext.TempData, ViewContext.Writer)
Dim routeData As RouteData = tempViewContext.RouteData
routeData.Values.Remove("culture")
routeData.Values.Add("culture", cultureValue)
不要任何人知道如何ViewContext複製到一個臨時對象,並改變值,而不改變原有ViewContext值?
編輯:我知道工作的唯一方法是更改routeData,然後檢查它是否存在,並在 它將routeData更改回到原始文化...正在跳躍有另一種方式,但它爲知道。
我已經知道這篇文章,但我試圖做的是檢查視圖是否存在即時通訊使用視圖引擎誰使用以下語法〜/視圖/首頁/ fr-FR /索引,我需要知道它是否在建立文化鏈接之前就存在。但是後來我需要routeData使其文化使用Dim viewResult As ViewEngineResult = ViewEngines.Engines.FindView(New ControllerContext(Context,routeData,Controller),viewName,masterName) 返回If(viewResult.View IsNot Nothing,True,False ) – 2011-03-30 11:27:19