ASP.NET MVC模型数据绑定

时间:2014-12-01 01:31:38

标签: asp.net-mvc

有没有办法将数据绑定到类成员?这是一个例子

public class A
{
   public int ID {get; set;}
   public string Description {get; set;}
}

public class B
{
   public int ID {get; set;}
   public string Description {get; set;}
   public A a {get; set;}
}

[HttpPost]
public ActionResult Create(Class B)
{

}

现在我想在View页面中创建一个B类对象,发布的数据来自这个页面如下:      ID = 1      描述="描述B"      A = 1

我希望以上所有数据能够自动填充到实例B并且MVC能够填充 B类的ID,B类的描述,但不能将数据填充到属于B类成员的A类中。

实际上我想要的是当发布的数据A = 1时,MVC可以为类B创建一个新的A类实例,并将类A的ID值设置为1.

我知道可能会在A类上放置一些属性,它会告诉MVC根据属性做一些映射。

1 个答案:

答案 0 :(得分:0)

如何将1的值绑定到A类型的复杂属性?它与 A类上的某些属性无关!你需要正确构造你的html才能被绑定

控制器

public ActionResult Create()
{
  B model = new B();
  return View(model)
}

[HttpPost]
public ActionResult Create(B model)
{

}

查看

@model B
@using(Html.BeginForm())
{
  @Html.TextBoxFor(m => m.ID)
  @Html.TextBoxFor(m => m.Description)
  @Html.TextBoxFor(m => m.a.ID) 
  @Html.TextBoxFor(m => m.a.Description)
  <input type="submit" value="Save" />
}