2011-02-07 8 views

答えて

0

の相互作用なしJavaScriptにMVC3.0コントローラで作成されたのdataTableにアクセスすることが可能です。 DataSets/DataTablesは従来のWebFormsで使用されていましたが、ASP.NET MVCでは悪い習慣とみなされています(WebフォームでもIMHOですが、これは別のトピックです)。

ASP.NET MVCでは、厳密に型指定されたモデルで作業します。あなたがこれを呼び出すことができjqueryのを使用して、その後

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

をして:あなたはリポジトリからいくつかの特定のモデルのコレクションをフェッチコントローラのアクションを持っているのであれば、たとえば、あなたはJSONとしてそれをシリアル化し、JavaScriptからそれを取得するためにAJAXを使用することができますアクション:correspon内部次に

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

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

別の可能性は、ビューを返し、それをビューモデルを通過するコントローラのアクションを有することですあなたは、ビュー内のJSONオブジェクトにモデルを直接シリアライズしてモデルを直ちに使用するスクリプトを作成することができます。JavaScriptSerializer

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