Форма POST не публикует данные на сервер в asp.net mvc - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть два действия: одно для получения формы, а другое для получения данных из формы. Проблема в том, что форма не отправляет данные на сервер, если я использую модель представления, в которой есть сотрудники и класс отдела,но если я использую класс сотрудника только при просмотре и после действия, он будет работать нормально, вот код Создать действие GET

   public ActionResult Create()
    {
        var deps = _context.Departments.ToList();
        var empDeps = new EmployeeDepartmentViewModel()
        {
            Employee = new Employee(),
            Department = deps
        };
        return View(empDeps);
    }

создать действие POST

    [HttpPost]
[ValidateAntiForgeryToken]
public void Create(EmployeeDepartmentViewModel employee)
{
    Response.Write("<h1>" + employee.Employee.Name + "</h1>");
}

просмотреть код

 @model EmployeesDemo.Models.ViewModels.EmployeeDepartmentViewModel

@{
    ViewBag.Title = "Create";
}

<h2>Create</h2>


@using (Html.BeginForm("Create", "Employees", FormMethod.Post))
{

    @Html.AntiForgeryToken()

    <div class="form-horizontal">
        <h4>Employee</h4>
        <hr />
        @Html.ValidationSummary(true, "", new { @class = "text-danger" })

        <div class="form-group">
            @Html.LabelFor(model => model.Employee.Name, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.TextBoxFor(model => model.Employee.Name, new { @class = "form-control" })
                @Html.ValidationMessageFor(model => model.Employee.Name, "", new { @class = "text-danger" })
            </div>
        </div>
        <div class="form-group">
            <div class="col-md-offset-2 col-md-10">
                <input type="submit" name="Create" value="Create" class="btn btn-default" />
            </div>
        </div>
    </div>
}

<div>
    @Html.ActionLink("Back to List", "Index")
</div>

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}

Теперь, чтобы все было просто, я хочу просто получить имя из представления и распечатать его в Ответе

Обновление: Когда я использую FormCollection, я могу читать значения изформы, но я действительно не знаю, в чем проблема при использовании EmployeeDepartmentViewModel и почему я не могу читать данные, используя это в своих действиях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...