我已经看到这个问题在SO上发布了几次,但与我的情况完全不同。如果这是重新发布的话,我很抱歉。
我有以下复杂的对象:
public class UserProfile
{
public Education education { get; set; }
// 3 other properties irrelevant to question b/c not able to be updated
}
教育课程如下:
public class Education
{
public List<Certification> certifications { get; set; }
public List<Degree> degrees { get; set; }
}
认证课程如下:
public class Certification
{
public int yearCertified { get; set; }
public DateTime expirationDate { get; set; }
}
Degree类看起来类似于Certification类。在我的用户配置文件的编辑(更新)视图页面上,我允许用户动态添加他/她想要的度数和认证。这意味着我想将一个Certification和Degree对象列表发送到我的控制器中的Update方法。
我知道使用MVC发布简单对象很容易,但是尝试为Update发布复杂对象,尤其是使用其他对象的List时,会有点棘手。
任何人都可以帮助我查看我的视图和控制器应该是什么样的吗?我正在使用MVC 1.0。
谢谢。
答案 0 :(得分:-1)
我正在使用类似的东西,我使用模型和FormCollection的组合解决了。
假设您的行动签名是:
[AcceptVerbs("Post")]
public ActionResult Edit(Education edu, FormCollection formColl)
{
var tmp = formColl;
return view...
}
我在var tmp上设置了一个断点,验证框架填充了哪些属性,然后使用FormCollection中发布的变量来设置其余的。
乖乖有更好的方法可以解决这个问题,但这可以用来帮助你解决问题。
此致
Thabet