首页 新闻 搜索 专区 学院

关于mvc的模型绑定问题,默认绑定器DefaultModelBinder在使用的时候还需要什么配置吗?

0
悬赏园豆:20 [已解决问题] 解决于 2014-11-16 16:51

我新建了一个mvc解决方案,然后把home控制器改成下面这样.....

t1用 string id,string name 接收参数正常

t用 ViewModel1 vm 接收,vm.id,vm.name都是空....

 

 1 namespace WebApplication3.Controllers
 2 {
 3     public class ViewModel1
 4     {
 5        public string id;
 6        public string name;
 7 
 8     }
 9     public class HomeController : Controller
10     {
11         public string t(ViewModel1 vm)
12         {
13             if (ModelState.IsValid)
14             {
15                 return vm.id + vm.name;   //使用 /home/t?id=1&name=2 访问,显示空
16             }
17             return "error";
18 
19         }
20         public string t1(string id,string name)
21         {
22             return id + name;  //使用 /home/t1?id=1&name=2 访问,显示正常
23         }
24         
25     }
26 }
ssboy的主页 ssboy | 初学一级 | 园豆:122
提问于:2014-11-08 10:42
< >
分享
最佳答案
0

1.你的t方法用ViewModel1,但是你ViewModel1里面的属性都没有get、set咋赋值取值?

2.检查一下页面上的name是否对应。

收获园豆:15
晓菜鸟 | 老鸟四级 |园豆:2594 | 2014-11-10 10:35
其他回答(2)
0

唉..又是一个白痴的错误.....ViewModel1里的属性竟然没写{ get; set; }

 

新手伤不起啊

ssboy | 园豆:122 (初学一级) | 2014-11-08 11:02
0

建议看下DefaultModerBinder实现

收获园豆:5
jello chen | 园豆:7096 (大侠五级) | 2014-11-08 11:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册