我有一个关于如何构建MVC页面的基本问题。
假设这是我的模特:
public class MyModel
{
int ProductId
List<ParameterTable> ParameterTables
...
[other properties]
...
}
ProductId最初没有值,但是当从DropDownList中选择其值时,它将触发一个事件,该事件检索与该产品关联的List项。
我的问题是当我执行此AJAX调用以获取参数表时我不确定如何处理响应。我只看过人们通过jquery手动将这些数据插入页面的例子。这意味着处理在视图中显示数据(第一次加载页面)和jquery(无论何时更改)。
我想知道是否有办法以某种方式传回一个将我的List的返回值绑定到我的页面的排序模型,而无需指定如何处理每个值。
我是否必须更改ProductId DropDownList触发一个ActionResult,它会重新加载整个页面而不是JsonResult?
答案 0 :(得分:2)
您可以使用ajax调用返回部分视图。
控制器操作:
public ActionResult Filter(int productId) {
var product = _repository.Find(productId);
if (Request.IsAjaxRequest())
{
return PartialView("_Product", product);
}
else
{
return View(product);
}
}