我换了我的网应用程序从预3beta1和我现在试图把新的职能框架来使用。他们中的一个是ModelBinding.

对于这个特定的情况下,我创造了一类是(现在)只是一个容器中的一堆的简单类型的性质。如果我创建了一个形成一堆的文本框我想的框架,以填补一个SearchBag实例与这些领域。

  • 我从哪里开始?是这个行为 开箱或者我实现一个 SearchBagBinder?我有一个快看 在IModelBinder但不能完全 包住我的头周围和 DefaultModelBinder源不 让我的任何明智的。
  • 这是什么ModelBindingContext?
  • 如何访问我的形式领域?
  • 如果价值观是不通过 通过一个形式,而是通过输入 URL直接?
  • 我在哪里找到的日期 信息(大多数博客 过时的)?我想我读的一个职位 通过菲尔在一段时间,但我不能 似乎找到它没有更多。

任何帮助表示赞赏。

有帮助吗?

解决方案

  • 我从哪里开始?是这个行为 开箱或者我实现一个 SearchBagBinder?我有一个快看 在IModelBinder但不能完全 包住我的头周围和 DefaultModelBinder源不 让我的任何明智的。

它被开箱的。你可以使用UpdateModel或ModelBinder来实现你在找什么要做。

  • 这是什么ModelBindingContext?

这种包含所有必要信息的请求可以开到你的模型。类似于ControllerContext和ActionFilterContext,它基本上是国家的ModelBinder和包含所有必要信息以做你想要什么,如果你跟随ASP.NET 视小组的建议为什么ModelBinder是应该做的。

  • 如何访问我的形式领域?
context.HttpContext.Request.Forms["myformfield"];

foreach (var field in context.HttpContext.Request.Forms.Keys) {
    var value = context.HttpContext.Request.Forms[field];
}
  • 如果价值观是不通过 通过一个形式,而是通过输入 URL直接?

如果你需要检查的形式和查询只是循环,通过这两个集合.

foreach (var field in context.HttpContext.Request.Forms.Keys) {
    var value = context.HttpContext.Request.Forms[field];
}
foreach (var field in context.HttpContext.Request.QueryStrings.Keys) {
    var value = context.HttpContext.Request.QueryStrings[field];
}

或者你可以通过环Param其中将包含的、形式、查询、标题,等等。

foreach (var field in context.HttpContext.Request.Params.Keys) {
    var value = context.HttpContext.Request.Params[field];
}
  • 我在哪里找到的日期 信息本*(大多数博客 过时的)?我想我读的一个职位 由菲尔在一段时间,但我不能 似乎找到它没有更多。

你有这权利菲尔是最好的地方的信息,作为到的ASP.NET 视.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top