我有一个ajax方法,可以使用GET根据过滤条件检索局部视图。但是,除非它们都是原始类型,否则我似乎无法传递多个参数。不会抛出任何错误,只是以null
传入。
$.ajax({
cache: false,
type: "GET",
dataType: 'json',
contentType: 'application/json, charset=utf-8',
url: '/DataManagement/GetDataPartialView',
data: { configFilter : filter, Name: "SomeValue"},
success: function (data) {
$('#divManagement').html(data);
},
error: function (xhr, ajaxOptions, thrownError) {
alert('Failed...');
}
});
控制器
[HttpGet]
public ActionResult GetDataPartialView(ConfigFilter configFilter, string Name)
{
....
return PartialView("_DataPartialView.tmpl", model);
}
模型
public class ConfigFilter
{
public string ConnectionString { get; set; }
public string UserId { get; set; }
public string AppKey { get; set; }
}
如果我通过,它可以工作......但我需要传递两个参数。
答案 0 :(得分:3)
您需要更改传递的数据对象以与方法中的模型/参数相关联
$.ajax({
cache: false,
type: "GET",
dataType: 'html', // your returing a view
// contentType: 'application/json, charset=utf-8', remove
url: '@Url.Action("GetDataPartialView", "DataManagement")', // don't hard code
data: { ConnectionString: 'xxx', UserId: 'xxx', AppKey: 'xxx', Name: 'xxx' },
success: function (data) {
$('#divManagement').html(data);
},
error: function (xhr, ajaxOptions, thrownError) {
alert('Failed...');
}
});
请注意,您的方法是返回html,而不是json