ASP.NET MVC 中 Controller.ReadFromRequest 的替代品是什么?

发布于 2024-07-04 18:07:32 字数 141 浏览 7 评论 0原文

我正在尝试将项目从 ASP.NET MVC Preview 3 更新到 Preview 5,似乎 Controller.ReadFromRequest(string key) 已从 Controller 类中删除。 有谁知道根据表单中的标识符检索信息的任何替代方法?

I am attempting to update a project from ASP.NET MVC Preview 3 to Preview 5 and it seems that Controller.ReadFromRequest(string key) has been removed from the Controller class. Does anyone know of any alternatives to retrieving information based on an identifier from a form?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

无人问我粥可暖 2024-07-11 18:07:32

看起来他们添加了controller.UpdateModel来解决这个问题,签名是:

UpdateModel(object model, string[] keys)

我没有亲自升级我的应用程序,所以我不确定实际的用法。 我自己也有兴趣了解这一点,因为我也在使用 controller.ReadFromRequest

Looks like they've added controller.UpdateModel to address this issue, signature is:

UpdateModel(object model, string[] keys)

I haven't upgraded my app personally, so I'm not sure of the actual usage. I'll be interested to find out about this myself, as I'm using controller.ReadFromRequest as well.

夜司空 2024-07-11 18:07:32

不知道它去了哪里。 不过,您可以推出自己的扩展:

public static class 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;
}

}

Not sure where it went. You could roll your own extension though:

public static class 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;
}

}
戏蝶舞 2024-07-11 18:07:32

你能在tinyurl.com之类的地方重做那个链接吗?

我也需要此信息,但可以使大型链接正常工作。

could you redo that link in something like tinyurl.com?

I need this info too but can get that mega-link to work.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文