Передача модели в частичное представление не работает - PullRequest
0 голосов
/ 28 апреля 2018

Файл " Add.cshtml " вызывает частичное представление " _ManagePartial.cshtml " и передает " Модель " ", однако" Модель"не подбирается при частичном обзоре.

Когда я включаю код, который находится в частичном представлении, в " Add.cshtml ", все прекрасно работает.

Пожалуйста, сообщите, что я делаю неправильно.

Сообщение об ошибке: Нажмите здесь, чтобы увидеть скриншот сообщения об ошибке

Файл : _ManagePartial.cshtml

<div class="row">
    <div class="col-md-4">
        <div class="form-group">
            @Html.LabelFor(model => model.UserName)
            @Html.EditorFor(model => model.UserName, new { htmlAttributes = new { @class = "form-control input-lg" } })
            @Html.ValidationMessageFor(model => model.UserName, "", new { @class = "text-danger" })
        </div>
        <div class="form-group">
            @Html.LabelFor(model => model.UserPassword)
            @Html.EditorFor(model => model.UserPassword, new { htmlAttributes = new { @class = "form-control input-lg" } })
            @Html.ValidationMessageFor(model => model.UserPassword, "", new { @class = "text-danger" })
        </div>
        <div class="form-group"><button type="submit" class="btn btn-primary btn-lg">Submit</button></div>
    </div>
    <div class="col-md-4">
        <div class="form-group">
            @Html.LabelFor(model => model.UserEmail)
            @Html.EditorFor(model => model.UserEmail, new { htmlAttributes = new { @class = "form-control input-lg" } })
            @Html.ValidationMessageFor(model => model.UserEmail, "", new { @class = "text-danger" })
        </div>
        <div class="form-group">
            @Html.LabelFor(model => model.UserConfirmPassword)
            <input type="password" class="form-control input-lg" name="UserConfirmPassword">
        </div>
    </div>
</div>

Файл : Add.cshtml

@model CardDistro.Models.AddUserViewModel
@{
    ViewBag.Current = "Users@Index";
    String Action = ViewBag.FormAction;
}

<h2 class="page-header">@ViewBag.Title</h2>
@using (Html.BeginForm(Action, "Users", FormMethod.Post, new { id = "SiteAddUserContainer" }))
{
    <input type="hidden" name="UserID" value="@Model.UserID" />
    if (ViewBag.Retval != null){
        <div class="row"><div class="col-md-8"><div class="alert alert-danger">@ViewBag.Retval</div></div></div>
    }
    Html.RenderPartial("_ManagePartial", Model);
}

1 Ответ

0 голосов
/ 28 апреля 2018

_ManagePartial.cshtml необходимо идентифицировать модель, начиная частичное представление с

@model CardDistro.Models.AddUserViewModel

так что компилятор знает, что делать с model=>UserName

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