部分方法中的视图模型在post方法上为null

时间:2018-08-07 13:14:13

标签: c# asp.net-mvc asp.net-core entity-framework-6

我有一个视图模型'ScansViewModel',它在控制器的post方法上作为null传递。在GET方法中,它将作为参数传递,但是如果我对其进行编辑并尝试发布新文件,则将其传递为null。

我的课程如下

EditApplicantScanViewModel.cs

mc.foo.call(5) // equivalent of mc.getFoo().call(5)

那我对此有何看法

public class EditApplicantScanViewModel
{   
    public int ApplicantId { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string EmailAddress { get; set; }
    public ScansViewModel ScansViewModel { get; set; }           
}

在我的局部视图中,我将父模型传递给了扫描视图模型。

@model Models.ViewModels.EditApplicantScanViewModel

<form asp-action="Edit" method="post" enctype="multipart/form-data">
    <div class="row">
        <div class="col-md-8">
            <div asp-validation-summary="ModelOnly" class="text-danger"></div>
            <input type="hidden" asp-for="ApplicantId" />

            <div class="form-group col-md-4">
                <label asp-for="FirstName" class="control-label"></label>
                <input asp-for="FirstName" class="form-control" />
                <span asp-validation-for="FirstName" class="text-danger"></span>
            </div>

            <div class="form-group col-md-4">
                <label asp-for="LastName" class="control-label"></label>
                <input asp-for="LastName" class="form-control" />
                <span asp-validation-for="LastName" class="text-danger"></span>
            </div>
            <div class="form-group col-md-4">
                <label asp-for="EmailAddress" class="control-label"></label>
                <input asp-for="EmailAddress" class="form-control" />
                <span asp-validation-for="EmailAddress" class="text-danger"></span>
            </div>

            @Html.Partial("_Scans", Model.ScansViewModel)

            <button type="submit" class="btn btn-primary">
                Save
            </button>
        </div>
    </div>
</form>

当我在post方法上选择一个新文件时,其作为null传递。我是否必须将这两个模型合而为一?因为我也需要在其他地方使用局部。

0 个答案:

没有答案