相关疑难解决方法(0)

ASP.Net MVC - 没有在回发上填充集合的模型

我有一个ASP.Net MVC应用程序,其中包含一个包含集合的多层深度模型.

我相信创建对象的视图都是正确设置的,但是当我将表单发布到服务器时,它只是不填充模型中的集合.

我有一个数据,可以在类层次结构中找到:

person.PersonDetails.ContactInformation[0].Data;
Run Code Online (Sandbox Code Playgroud)

此类结构由LinqToSQL创建,ContactInformation是类型EntitySet<ContactData>.要创建视图,我传递以下内容:

return View(person);
Run Code Online (Sandbox Code Playgroud)

在视图中我有一个表单,其中包含一个文本框,其名称与上述字段相关联:

<%= Html.TextBox("person.PersonDetails.ContactInformation[0].Data")%>
Run Code Online (Sandbox Code Playgroud)

我的控制器中的post方法如下:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create (Person person)
{
  //Do stuff to validate and add to the database 
}
Run Code Online (Sandbox Code Playgroud)

正是在这一点上我迷失了人.PersonDetails.ContactInformation.Count()== 0.因此,ModelBinder创建了一个ContactInformation对象,但没有填充它应该在索引0处保存的对象(即ContactData).

我的问题有两个方面:1.我采取了正确的方法......即这应该有效吗?2.关于为什么它可能无法填充ContactInformation对象的任何想法?

非常感谢,理查德

c# asp.net-mvc

10
推荐指数
2
解决办法
1万
查看次数

asp.net mvc父子视图,父视图更新子项

我正在使用局部视图来创建父子视图.我理想的是父视图上的提交按钮来保存子值.

我有以下型号.

public class Course
{
    public int CourseId { get; set; }
    public string Name { get; set; }
    public int Par { get; set; }
    public string Tee { get; set; }
    public decimal Rating { get; set; }
    public virtual IEnumerable<CourseHole> Holes { get; set; }

    public static Course Create()
    {
        var course = new Course();
        course.Par = 72;
        var holes = new List<CourseHole>();
        for (int i = 0; i < 18; i++)
        {
            holes.Add(new CourseHole() { …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc asp.net-mvc-4

1
推荐指数
1
解决办法
7067
查看次数

标签 统计

asp.net-mvc ×2

c# ×2

asp.net-mvc-4 ×1