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