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