首页 新闻 赞助 找找看

c# 属性类型为 int? 无法接收前台参数

0
悬赏园豆:5 [已解决问题] 解决于 2016-06-02 13:28

public class Menu{

  public int? ParentID{get;set;}

}

 

Controllers

public ActionResult Add(Menu model){

/////工作

}

前台无论是AJAx 还是 Form 表单传递参数 后台Controllers 都无法接收到这个ParentID 求大神指点,把 ? 去掉 是和可以接收到的,可是系统需要为NULL。

请求的主页 请求 | 初学一级 | 园豆:2
提问于:2016-03-22 18:10
< >
分享
最佳答案
0

跟null没关系.你先得弄请求格式和支持的绑定方法

收获园豆:5
吴瑞祥 | 高人七级 |园豆:29449 | 2016-03-22 19:05

求指点!还是一头雾水

请求 | 园豆:2 (初学一级) | 2016-03-22 19:37

@请求: 看请求报文.或者把请求报文发出来让大家看.

吴瑞祥 | 园豆:29449 (高人七级) | 2016-03-23 10:20

@吴瑞祥: 兄弟 跟请求报文没关系! 我查看了MVC 默认的实体绑定方式 DefaultModelBinder,前台传递的所有参数都是 字符串类型的,而默认 只支持  int string DataTime double 这四个类型,最后我写了一个类实现了IModelBinder接口 自己绑定int? 类型的属性 搞定了。

参考下面链接

http://www.cnblogs.com/miku/archive/2013/01/21/2866830.html

请求 | 园豆:2 (初学一级) | 2016-03-23 10:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册