2011-06-17 45 views
0

我有什麼可能是關於如何構建MVC頁面的基本問題。MVC - 處理頁面上的模型和事件

認爲這是我的模型:

public class MyModel 
{ 
    int ProductId 
    List<ParameterTable> ParameterTables 
    ... 
    [other properties] 
    ... 
} 

最初產品編號不會有一個值,但是當從一個DropDownList選擇了它的價值就會觸發檢索與該產品相關聯的列表項的事件。

我的問題是當我做這個AJAX調用來獲取參數表我不知道如何處理響應。我只看到一些例子,然後人們通過jquery手動將這些數據插入到頁面中。這將意味着處理顯示數據在您的視圖(第一次加載頁面)和jQuery中(每當它發生變化)。

我想知道是否有辦法以某種方式傳回一種模式的排序,將List的返回值綁定到我的頁面中,而無需指定如何處理每個值。

我需要更改ProductId DropDownList觸發一個ActionResult,它將重新加載整個頁面來完成此操作而不是JsonResult?

回答

2

你可以用你的ajax調用返回一個局部視圖。

控制器動作:

public ActionResult Filter(int productId) { 
    var product = _repository.Find(productId); 
    if (Request.IsAjaxRequest()) 
    { 
     return PartialView("_Product", product); 
    } 
    else 
    { 
     return View(product); 
    } 
}