我正试图发送 AJAX 请求到一个控制器动作,该动作将一个类作为参数,其中包含多个模型。我已经找到了从多个模型中向一个特定模型发送请求的方法。但我面临的问题是如何为目标模型绑定参数。
要求:
function EditModalOnComplete() {
var modelData = { Data: "euro", Type: null, PosNumber: 0, OrderNumber: 0, ServerName:
"serverDefualted" }
var modelName = { "orderModel":modelData}
$.ajax({
url: '@Url.Action("SearchResult", "Orders")',
data:modelName ,
success: function (){
},
error:function (xhr, ajaxOptions, thrownError){
alert(xhr.responseText);
}
});
}
字符串
控制器操作:
public ActionResult SearchResult(BindedModels models)
{
//Code
return View();
}
型
组合模型类
public class BindedModels
{
public OrderModel orderModel{ get; set; }
public DetailsModel details{ get; set; }
}
型
型号类别:
public class orderModel
{
public string Data{ get; set; }
public int? Type{ get; set; }
public int? PosNumber{ get; set; }
public int? OrderNumber{ get; set; }
public string ServerName { get; set; }
}
型
我想将modelData和请求沿着发送给称为orderModel的模型,并将这些数据提供给它。我怎么能做到呢。当我检查代码时,我确实得到了模型,但它的数据为空。
4条答案
按热度按时间rwqw0loc1#
我认为你的问题可能是你需要把你的模型串起来。
在 AJAX 调用中替换它:
字符串
用这个:
型
我假设你的代码示例中有一个错别字,因为你在创建JS对象时使用了
modelName
,但在实际调用中传递了model
,除非这是它不工作的原因,这很可能是这种情况。我还注意到你丢失了请求类型和内容类型:
型
所以把它们放在一起:
型
并确保使用
[HttpPost]
属性标记控制器的操作:型
b91juud32#
修复 AJAX :
字符串
fcy6dtqo3#
/* 问题出该高速缓存上 */
public void run(){
字符串
订单号:0,服务器名称:“serverDefualted”},详细信息:[详细]
型
llew8vvj4#
字符串