可以';t使用textboxfor将值从textbox传递到控制器

本文关键字:textbox 控制器 textboxfor 使用 可以 | 更新日期: 2023-09-27 18:26:05

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

索引视图中的代码:

@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; }
}

显示了My Name值,但显示了我的Member.Firstname未显示在视图中,因为未传递。发生了什么,有人能解释吗?

可以';t使用textboxfor将值从textbox传递到控制器

您没有使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();
    }
}