【发布时间】:2011-06-12 20:48:05
【问题描述】:
如果我有以下 jQuery 函数(在外部文件中):
function getResults(field1, field2, field3) {
$.get('/Search/GetResults', { id: field1, type: field2, blah: field3 }, function(data) {
$('#target').html(data);
});
}
它本质上从表单中获取一堆字段,将它们发送到一个操作方法(返回一个 PartialViewResult),并将结果绑定到一个目标 div。
这是那个动作方法:
[HttpGet]
public PartialViewResult GetResults(int id, int type, string blah)
{
var model = repository.GetResults(id, type, blah);
return PartialView("Results", model);
}
这里可以使用模型绑定吗?例如,我们可以这样做吗:
function getResults(someModel) {
$.get('/Search/GetResults', { model: someModel }, function(data) {
$('#target').html(data);
});
}
还有这个:
[HttpGet]
public PartialViewResult GetResults(SearchPreferences prefs)
{
var model = repository.GetResults(prefs);
return PartialView("Results", model);
}
或者我应该构造一个 JSON 对象并传递它?目前这些值是通过单独的 jQuery DOM 调用来检索的:
var field1 = $('#field1').val();
var field2 = $('#field2').val();
目标是减少/简化 jQuery 代码。我有所有这些调用来获取所有值,然后我需要将它们全部作为参数传递。
理想情况下,我只想传递一个对象。
有什么建议吗?
编辑:刚刚意识到我可以在 ASP.NET MVC 3 中使用新的 JSON 模型绑定 功能。现在阅读它......(感觉在此期间可以提前回答)。
【问题讨论】:
标签: jquery asp.net-mvc json asp.net-mvc-3 model-binding