controller{
actionr(自定义类 model){}
}
自定义类 {
public string string111{get;set;}
public xxxx pro1{get;set;}
}
大致代码如下, 现在pro1属性是一个复杂的json字符串,前台自动生成的。比较复杂。
mvc有没有扩展点能指定某个属性使用特定的绑定方法么。
我知道 action(自定义类 model,[modelbinder(typeof(....)) xxxx pro1])这种方式是可以的。
再建一个扩展实体pro1Model,对应json串的pro1里的属性。将json转换成实体进行操作。
将Json转换为实体模型
pro1Model_model= new pro1Model();
_model= new JavaScriptSerializer().Deserialize<pro1Model>(pro1);
如果是list的话。
list<pro1Mode> l_model= new list<pro1Model>();
_model= new JavaScriptSerializer().Deserialize<list<pro1Model>>(pro1);
然后操作_model。
目前给出的只能是这个,虽然有点龌龊,但是我所了解的方式就是这样。你可以参考下。
不可以,不过你可以定义个只读属性,只读属性直接反序列化,返回一个对象
直接给你的自定义类型增加个modelbinder
或者 取出pro1的字段反序列化后赋值给model(有点像 楼上那哥们儿的方法)
或者增加一个自定义的 ValueProviderFactory .