2011-02-07 66 views

回答

0

你的問題是有點不清楚的互動。 DataSets/DataTables在傳統的WebForms中被使用,在ASP.NET MVC中被認爲是不好的做法(在WebForms也是恕我直言,但這是另一個話題)。

在ASP.NET MVC中,您將使用強類型模型。因此,舉例來說,如果你有取一些定模式的集合,從存儲庫中的控制器動作,您可以序列它作爲JSON和使用AJAX來從JavaScript取,

public ActionResult Foo() 
{ 
    IEnumerable<MyModel> items = _repository.GetModel(); 
    return Json(items, JsonRequestBehavior.AllowGet); 
} 

,然後使用jquery你可以調用此動作:

$.getJSON('@Url.Action("foo")', function(items) { 
    $.each(items, function(index, item) { 
     alert(item.Name); 
    }); 
}); 

另一種可能性是具有它返回一個視圖,並將其傳遞視圖模型的控制器的操作:

public ActionResult Foo() 
{ 
    IEnumerable<MyModel> items = _repository.GetModel(); 
    return View(items); 
} 

然後correspon內部ding視圖你可以通過使用JavaScriptSerializer直接序列化視圖中的JSON對象來立即消​​費該模型的腳本:

<script type="text/javascript"> 
    var items = @MvcHtmlString.Create(new JavaScriptSerializer().Serialize(Model)); 
    $.each(items, function(index, item) { 
     alert(item.Name); 
    }); 
</script> 
相關問題