ASP.NET MVC 中 Controller.ReadFromRequest 的替代品是什么?
-
09-06-2019 - |
题
我正在尝试将项目从 ASP.NET MVC Preview 3 更新到 Preview 5,似乎 Controller.ReadFromRequest(string key) 已从 Controller 类中删除。有谁知道根据表单中的标识符检索信息的任何替代方法?
解决方案
看起来他们已经添加了controller.UpdateModel来解决这个问题,签名是:
UpdateModel(object model, string[] keys)
我个人没有升级过我的应用程序,所以我不确定实际的使用情况。我有兴趣自己了解这一点,因为我正在使用 controller.ReadFromRequest
以及。
其他提示
不知道它去了哪里。不过,您可以推出自己的扩展:
公共静态类MybindingExtensions {
public static T ReadFromRequest < T > (this Controller controller, string key)
{
// Setup
HttpContextBase context = controller.ControllerContext.HttpContext;
object val = null;
T result = default(T);
// Gaurd
if (context == null)
return result; // no point checking request
// Bind value (check form then query string)
if (context.Request.Form[key] != null)
val = context.Request.Form[key];
if (val == null)
{
if (context.Request.QueryString[key] != null)
val = context.Request.QueryString[key];
}
// Cast value
if (val != null)
result = (t)val;
return result;
}
}
你能在tinyurl.com之类的地方重做那个链接吗?
我也需要此信息,但可以使大型链接正常工作。
不隶属于 StackOverflow