我有许多级联下拉框,允许用户在数据显示之前对其进行过滤。我使用JQuery并使用JsonResults返回列表。但是在最后的下拉框更改中,我想检索与它们已应用的过滤器匹配的数据,并将其显示在表格中。
为了呈现表格,我想使用Model和MVC中内置的htmlhelpers。我不确定如何(或者是否可能)将这些数据放入模型而不将其发回页面(并从级联下拉中丢失数据)。我想要的是以某种方式从Jquery更新模型,这将允许我以Jsonresult的形式发回数据,动态创建表。
有什么想法吗?
干杯
答案 0 :(得分:3)
除了通过JSON获取结果外,您还可以从控制器返回部分视图:
$('#lastDDL').change(function () {
var ddlX= $('#ddlX').val();
var ddlY= $('#ddlY').val();
...etc
$('#results').load('/Controller/FinalResults/' + '?ddlX=' + ddlX + ... etc ...;
});
有很多方法可以创建一个JSON对象来传回你的控制器,但这应该足以让你开始。
在您的控制器中:
public ActionResult FinalResults(int ddlX, int ddlY, etc)
{
var myModel = new myModel(ddlX, ddlY, etc);
return PartialView("finalResults",myModel);
}