首页 新闻 会员 周边

asp.net mvc4+ef codefirst做的项目,View视图层如何传递复杂类型到Controller控制器啊?

0
悬赏园豆:10 [已解决问题] 解决于 2013-11-06 15:33

各位大侠,我遇到一个难题,asp.net mvc4+ef codefirst做的项目,View视图层如何传递复杂类型到Controller控制器啊?

例如:

Model

public class Person {

     public Address Address {get;set;}

}

 

public class Address

{

  public string Province {get;set;}

      public strin City {get;set;}

}

 

Controller

[HttpPost]

public ActionResult Create(Person p){

   p.Address为null????

}

大牛博客的主页 大牛博客 | 初学一级 | 园豆:180
提问于:2013-11-05 19:43
< >
分享
最佳答案
0

前台 构建的 不对吧.看看name属性是不是这样的.这样的

 <input name='p.Address.Province'> 

收获园豆:8
czd890 | 专家六级 |园豆:14412 | 2013-11-06 09:18

你好,如果更深一层次外键对象呢? p.Address.Province.xxx,好像不行?

大牛博客 | 园豆:180 (初学一级) | 2013-11-06 09:34

这样好像是默认模型绑定机制,有没有好一点的方法呢? 如果我前端用的是jQuery,$.ajax 把表单数据组织成json格式,如果实现呢?

大牛博客 | 园豆:180 (初学一级) | 2013-11-06 09:36

@大牛博客: 

p.Address.Province.xxx 不管多深.都可以.

要简单. 自己写解析器.

czd890 | 园豆:14412 (专家六级) | 2013-11-06 09:52

@calvinK: 怎么写解析器啊,给个示例好吗? 我初学,不太懂! 只能是ASP。NET MVC入门

大牛博客 | 园豆:180 (初学一级) | 2013-11-06 10:45
czd890 | 园豆:14412 (专家六级) | 2013-11-06 11:11

谢谢!!!

大牛博客 | 园豆:180 (初学一级) | 2013-11-06 12:04
其他回答(2)
0

当成变量不就ok了?

收获园豆:1
幻天芒 | 园豆:37175 (高人七级) | 2013-11-05 20:16
0

定义一个传递类,把所有要传递的类分别作为该类的属性进行封装,如:

public class DTO

{

  public Person Person{get;set;}

      public Address Address{get;set;}

}

收获园豆:1
Yu | 园豆:12980 (专家六级) | 2013-11-05 22:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册