0

我尝试将值从文本框传递到控制器,但我的第一个值被传递,而我的第二个值没有被传递。简而言之,我将在这里发布我的代码:

索引视图中的代码:

@model FirstProject.Controllers.Family

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

@using (@Html.BeginForm("SubmitTextBox", "OtherExample", FormMethod.Post))
{
    @Html.TextBoxFor(x => x.Name)
    @Html.TextBoxFor(x => x.Member.FirstName)
    <input type="submit"/>
}

<p>@Model.Name</p>
<p>@Model.Member.FirstName</p>

来自控制器的代码:

public ActionResult Index()
        {
            return View(new Family());
        }

        public ActionResult SubmitTextBox(Family model)
        {
            return View("Index", model);
        }

和我的模型:

public class Family
{
    public string Name { get; set; }
    public Member Member;
    public Family()
    {
        Member = new Member();
    }

}

public class Member
{
    public string FirstName { get; set; }
}

我的姓名值已显示,但我的 Member.Firstname 未显示在视图中,因为未通过。有人可以解释发生了什么吗?

4

1 回答 1

2

你没有做Member 财产

在模型而不是字段中创建Member 属性:

public Member Member {get;set;}

您的型号:

public class Family
{
    public string Name { get; set; }
    public Member Member {get;set;}
    public Family()
    {
        Member = new Member();
    }

}
于 2014-10-09T11:39:26.423 回答