Jos*_*e3d 2 asp.net-mvc asp.net-mvc-3
我有一个疑问
要使用这句话:filterContext.RouteData.Values["MyRouteValue"]密钥应该在路由表中的Route中声明对吗?
我的意思是,应该在路由表中: {MyRouteValue}/
如果我有像/ Controller/Action这样的请求?MyRouteValue = XXXXXXX即可获得null filterContext.RouteData.Values["MyRouteValue"].这意味着,如果我想我必须使用filterContext.Controller.ValueProvider.GetValue("publicationUrlTitle").AttemptedValue istead价值?
提前致谢.
问候.
何塞.
要使用这句话:filterContext.RouteData.Values ["MyRouteValue"]键应该在路由表中的Route中声明对吗?
是.
如果我有像/ Controller/Action这样的请求?MyRouteValue = XXXXXXX我从filterContext.RouteData.Values ["MyRouteValue"]获取null.这意味着,如果我想我必须使用filterContext.Controller.ValueProvider.GetValue("publicationUrlTitle").AttemptedValue istead价值?
是的,使用ValueProvider或阅读filterContext.HttpContext.Request["MyRouteValue"].使用ValueProvider的优点是它可以在很多地方查找:路由数据,GET查询字符串参数,POST参数,自定义值提供程序,例如ASP.NET MVC 3中的JSON值提供程序,...
当你访问该.AttemptedValue物业时要小心,因为NRE如果MyRouteValue无处可寻,你可能会得到一个.