asp.net-mvc-4 – ModelBinder和子模型
|
我在某些模型中使用了一个子模型类(UserInfo),它应该包含一些与用户相关的信息.例如,该子模型可用于各种模型 public class Model
{
int string Value { get; set; }
public UserInfo User { get; set; }
}
我已经创建了一个模型绑定器并在WebApiConfig中注册了它 config.BindParameter(typeof(UserInfo),new UserModelBinder()); 问题是WebApi处理管道没有调用UserModelBinder.似乎没有为子模型调用这些模型绑定器.我错过了什么吗? 解决方法看看这个问题 What is the equivalent of MVC’s DefaultModelBinder in ASP.net Web API?,了解你的绑定将在何处发生的一些细节.我怀疑你的模型是在消息体中传递的吗? 如果是,则WebApi将使用格式化程序对类型进行反序列化并处理模型,默认值为XmlMediaTypeFormatter,JsonMediaTypeFormatter或FormUrlEncodedMediaTypeFormatter. 如果您在模型中发布模型,那么根据您请求或接受的内容类型(application / xml,application / json等),您可能需要自定义序列化器设置或包装或实现您自己的MediaTypeFormatter. 如果您使用的是application / json,则可以使用JsonConverters自定义UserInfo类的序列化.这里有一个例子,这里有Web API ModelBinders – how to bind one property of your object differently和WebApi Json.NET custom date handling internal class UserInfoConverter : JsonConverter
{
public override bool CanConvert(Type objectType)
{
return objectType == typeOf(UserInfo);
}
public override object ReadJson(JsonReader reader,Type objectType,object existingValue,JsonSerializer serializer)
{
//
}
public override void WriteJson(JsonWriter writer,object value,JsonSerializer serializer)
{
//
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-core – 使用[FromBody]时获取原始POST数据
- asp.net-mvc – 使用城堡温莎的实体框架
- asp.net – 配置转换和“TransformXml任务失败”错误消息
- 如何处理ASP.NET vNext中的调试/发布配置转换
- asp.net-mvc – 在ASP.NET MVC 3 Action方法中并行运行任务
- asp.net-mvc – ASP.NET MVC从预览5升级到Beta版期间的问题
- asp.net-mvc-3 – 根据url更改控制器中的布局
- ASP.NET MVC的提示和ASP.NET WebForms开发人员的课程
- asp.net-mvc – 用于OpenID OAuth简单身份验证的ASP.NET MV
- asp.net-mvc – AntiForgeryToken在ASP.Net MVC 4 RC中弃用
- asp.net-mvc – 有没有人知道让Ninject 2在ASP.N
- asp.net – 设置gridview标题颜色
- asp.net – URL重写 – web.config错误
- asp.net-mvc – ASP.NET MVC DropDownListFor不支
- asp.net-mvc – 如何创建文件并通过ASP.NET MVC中
- asp.net – Mysql中int(10)的最大大小是多少?
- ASP.NET MVC 3 – Ajax.BeginForm vs jQuery For
- asp.net-mvc-4 – 带有TextBoxFor的MVC在循环中具
- asp.net – ASP .Net文件上载超出最大请求长度错
- 基于MetadataType的ASP.Net C#验证模型
