ASP.Net 在 ActionResult 中提交时获取空值

ASP.Net Getting null value on submit in ActionResult

我已经创建了一个控制器和一个编辑页面。该页面应允许用户更新订阅并保存。一切正常,但当我提交页面时,值始终为空。

[HttpPost]
public ActionResult Edit(ReportSubscription reportSubscription)
{
    var rs = reportSubscription;
   
}

那个并有一个服从它的观点。

@model api.ReportSubscription

@{
    ViewBag.Title = "Edit Subscription";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

@using (Html.BeginForm("Edit", "Subscription" ))
{
    <div class="form-group">
        @Html.LabelFor(model => model.Description, htmlAttributes: new { @class = "control-label col-md-3" })
        <div class="col-md-10">
            <div class="form-control" style="background-color:lightgray; width:500px">
                @Html.DisplayTextFor(model => model.Description)
    
            </div>
        </div>
    </div>

    <div class="form-group">
        <div class="col-md-offset-2 col-md-10">
            <input type="submit" name="saveButton" value="Save" class="btn btn-primary" />        
   
        </div>
    </div>
}

加载正常,但是当我提交控制器中的值时总是 null

尝试使用@Html.HiddenFor()创建一个隐藏字段,这将有助于默认模型活页夹正常工作:

@using (Html.BeginForm("Edit", "Subscription"))
{
    @Html.HiddenFor(m => m.Description)
    ...
}

在 cshtml 文件中使用像 (@html.editorfor) 这样的输入类型元素