Asp.net mvc 5 MVC 5 Ajax.BeginForm POST未绑定到conroller中的模型
抱歉,这里的代码太多了,但这是最好的解释方法;发生了什么事 我在MVC 5部分视图中给出了以下代码:Asp.net mvc 5 MVC 5 Ajax.BeginForm POST未绑定到conroller中的模型,asp.net-mvc-5,ajax.beginform,Asp.net Mvc 5,Ajax.beginform,抱歉,这里的代码太多了,但这是最好的解释方法;发生了什么事 我在MVC 5部分视图中给出了以下代码: @model Hide.MVC.MFC.Models.RequestDataModel 使用(Ajax.BeginForm(“RequestSetCanceledState”、“Home”、null、, 新选择 { HttpMethod=“POST”, InsertionMode=InsertionMode.Replace, UpdateTargetId=“请求信息”, OnBegin=“Aja
@model Hide.MVC.MFC.Models.RequestDataModel
使用(Ajax.BeginForm(“RequestSetCanceledState”、“Home”、null、,
新选择
{
HttpMethod=“POST”,
InsertionMode=InsertionMode.Replace,
UpdateTargetId=“请求信息”,
OnBegin=“AjaxAbsoluteLoaderOn”,
OnComplete=“AjaxAbsoluteLoaderOff”
},新的{id=“formCancel”})
{
@DropDownListFor(m=>m.CancelReason,新选择列表(Model.CancelReasons,“Id”,“Name”,Model.CancelReason),String.Empty)
@Html.TextBoxFor(m=>m.Reason)
@Html.HiddenFor(m=>m.RequestId)
}
我的控制器操作如下:
[HttpPost]
公共PartialViewResult RequestSetCanceledState(RequestDataModel模型)
{
...
返回部分视图(“..”,模型);
}
我的模型如下:
公共类RequestDataModel
{
public RequestDataModel(){}
公共RequestDataModel(int requestId)
{
this.RequestId=RequestId;
使用(var service=new InnerServiceClient())
{
var-request=service.GetRequest(requestId);
this.State=request.ServiceState;
if(request.PremiseInformationId.HasValue)
{
this.PremisInformation=service.GetExistingData(requestId)??新建PremiseInformationBL();
}
}
}
public int RequestId{get;set;}
公共int状态{get;set;}
公共前提信息BL前提信息{get;set;}
公共int?取消原因{get;set;}
公共字符串原因{get;set;}
公开名单取消原因
{
得到
{
使用(var service=new DictionaryServiceClient())
{
return service.GetShortList(TypeDictionary.MFCCancelReason.ToList();
}
}
}
}
代码不会发送到RequestSetCanceledState方法,并且浏览器会发送消息
CancelReason=1&Reason=123&RequestId=48&X-Requested-With=XMLHttpRequest
但是模型总是空的。另外,如果我使用GET请求,则模型不是空的!我试图从模型中删除PremisInformation和CancelReasons,但没有帮助。有人能告诉我为什么会这样吗?是否包含jquery.unobtrusive-ajax.js文件???很遗憾,控制台中没有错误。控制器返回一个没有问题的PartialView那么问题出在哪里…??POST请求不会将数据绑定到conroller中的模型。此时,
public PartialViewResult RequestSetCanceledState(RequestDataModel模型)
model为空