【问题标题】:Query String to C# Object in ASP.NET MVC在 ASP.NET MVC 中查询字符串到 C# 对象
【发布时间】:2012-06-02 16:49:51
【问题描述】:

我有一个非常笼统的问题。

使用 ASP.NET MVC 进行开发时。它提供了一种利用 C# 与客户端对象(如查询字符串)进行交互的好方法。

我想知道 ASP.NET MVC 框架如何将 GET 请求中发送的查询字符串或 POST 请求中的表单数据转换为强类型 C# 类?是否有任何特定的 HttpHandler 或 HttpModules ?或者他们是否使用任何预定义的动作过滤器?

我想在基于 WCF 的 RESTFull 服务中实现类似的功能。我相信我需要为此目的使用 Interceptor。

请提供一些建议。

提前致谢。

【问题讨论】:

    标签: c# asp.net-mvc wcf


    【解决方案1】:

    您指的是ASP.NET MVC Model Binding. 这实际上是框架的一个完全独立的部分,而不是ActionFilters 或HttpModules。它的工作原理是检查“值提供者”——请求中的信息源,如表单数据、查询字符串,甚至路由——并尝试按名称将它们与控制器操作中复杂类型的属性进行匹配。

    正如 Kenneth 提到的,您可以查看 CodePlex 上的源代码,但如果您希望使用 RESTful 架构模式编写服务,您可以开始使用 MVC4 测试版中的 Web API 功能,它还支持模型绑定(所以你不必重新发明它!)

    还值得一提的是,Web API 是为 WCF 开发的,但现在是 ASP.NET MVC 的一部分,这是有道理的,因为 ASP.NET MVC 与 Web API 一样,都是主要围绕 HTTP 构建的。

    【讨论】:

    • 谢谢布兰登,这是很好的建议和非常有见地的解释。
    【解决方案2】:

    我对 wcf 可扩展性模型不太熟悉,但在 mvc3 方面,所有源代码都在那里。您可以确切地看到模型绑定是如何实现的。只需下载源代码,阅读内容相当丰富。

    http://aspnet.codeplex.com/releases/view/58781

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多