gpt4 book ai didi

asp.net-mvc - 关于 Asp.net MVC3 上的 RouteData 和 ValueProvider 的问题

转载 作者:行者123 更新时间:2023-12-02 08:53:11 28 4
gpt4 key购买 nike

我有一个疑问

用这句话:filterContext.RouteData.Values["MyRouteValue"] key应该在路由表的Route中声明,对吗?

我的意思是,应该在路由表中类似:{MyRouteValue}/

如果我有一个像/Controller/Action?MyRouteValue=XXXXXXX 这样的请求,我会从 filterContext.RouteData.Values["MyRouteValue"] 获取 null。这意味着如果我想获取值,我必须使用 filterContext.Controller.ValueProvider.GetValue("publicationUrlTitle").AttemptedValue 代替?

提前致谢。

问候。

何塞。

最佳答案

To use this sentence: filterContext.RouteData.Values["MyRouteValue"] the key should be declared in a Route in the route table right?

是的。

If i have a request like /Controller/Action?MyRouteValue=XXXXXXX im getting null from filterContext.RouteData.Values["MyRouteValue"]. This means that if i want to get the value i have to use filterContext.Controller.ValueProvider.GetValue("publicationUrlTitle").AttemptedValue istead?

是的,使用ValueProvider或从filterContext.HttpContext.Request["MyRouteValue"]读取它。使用 ValueProvider 的优点是它可以在很多地方查找:路由数据、GET 查询字符串参数、POST 参数、自定义值提供程序(例如 ASP.NET MVC 3 中的 JSON 值提供程序)...

访问 .AttemptedValue 属性时请务必小心,因为如果找不到 MyRouteValue,您可能会收到 NRE

关于asp.net-mvc - 关于 Asp.net MVC3 上的 RouteData 和 ValueProvider 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6998809/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com