Asp.net mvc 5 视图中的字段没有';在将viewmodel传递到post操作时查看后,无法填充

Asp.net mvc 5 视图中的字段没有';在将viewmodel传递到post操作时查看后,无法填充,asp.net-mvc-5,Asp.net Mvc 5,嗨,这更像是一个MVC问题。我正在MVC应用程序中实现一个保存功能。我已经编写了一个HTTPPOST方法来保存记录。当我试图将viewmodel传递给视图时,我正在修改一个名为requestID的属性。在保存请求后检索此requestid。加载视图时,我看不到包含数据的requestid字段。我已正确绑定控件。是否在post操作期间丢失了viewmodel信息。我现在看到的是,我需要用我保存的最新请求刷新我的视图 [HttpPost] public ActionResult Request_In

嗨,这更像是一个MVC问题。我正在MVC应用程序中实现一个保存功能。我已经编写了一个HTTPPOST方法来保存记录。当我试图将viewmodel传递给视图时,我正在修改一个名为requestID的属性。在保存请求后检索此requestid。加载视图时,我看不到包含数据的requestid字段。我已正确绑定控件。是否在post操作期间丢失了viewmodel信息。我现在看到的是,我需要用我保存的最新请求刷新我的视图

[HttpPost]
public ActionResult Request_Insert(NewRequestViewModel newRequestViewModel)
{

    newRequestViewModel.CompanyCode = "8100";
    newRequestViewModel.RequestStatusCode = "New";
    if (!ModelState.IsValid)
    {
        return null;
    }
    int requestId = requestRepository.CreateRequest(Mapper.Map<Request>(newRequestViewModel));

    newRequestViewModel.RequestID = requestId;


    return View("NewRequestView", Mapper.Map<NewRequestViewModel>(newRequestViewModel));
}
[HttpPost]
公共操作结果请求\u插入(NewRequestViewModel NewRequestViewModel)
{
newRequestViewModel.CompanyCode=“8100”;
newRequestViewModel.RequestStatusCode=“新建”;
如果(!ModelState.IsValid)
{
返回null;
}
int requestId=requestRepository.CreateRequest(Mapper.Map(newRequestViewModel));
newRequestViewModel.RequestID=RequestID;
返回视图(“NewRequestView”,Mapper.Map(newRequestViewModel));
}
请求ID字段

@model CC.GRP.MCRequest.ViewModels.NewRequestViewModel
     <div class="form-group">
                        @Html.LabelFor(model => model.RequestID, htmlAttributes: new { @class = "control-label col-md-4" })
                        <div class="col-md-8">
                            <div class="editor-field">
                                @Html.EditorFor(model => model.RequestID, new { htmlAttributes = new { @class = "form-control", style = "width:100%", @readonly = "readonly" } })

                            </div>
                            @Html.ValidationMessageFor(model => model.RequestID, "", new { @class = "text-danger" })
                        </div>
                    </div>
@model CC.GRP.MCRequest.ViewModels.NewRequestViewModel
@LabelFor(model=>model.RequestID,htmlAttributes:new{@class=“controllabel col-md-4”})
@EditorFor(model=>model.RequestID,new{htmlAttributes=new{@class=“form control”,style=“width:100%”,@readonly=“readonly”})
@Html.ValidationMessageFor(model=>model.RequestID,“,new{@class=“text danger”})

无法从您的“Requestid字段”代码中分辨出来,但我假设ViewModel被包装在一个表单中,该表单通过post将数据发送给控制器。您是否检查过Mapper.Map返回的对象是否包含新Id?我在执行CreateRequest方法后获得Requestid的值。我正在做手工作业。。当我在调试过程中检查newReqeustViewModel对象值时,它包含requestidtry ModelState.Clear(),它可以工作。非常感谢。