2016-09-05 118 views
0

我有這個疑問在控制器:
如何將控制器中的列表傳遞給asp.net mvc中的javascript函數?

DataClasses1DataContext behzad = new DataClasses1DataContext(); 
      var query = (from p in behzad.ImagePaths 
         select new 
         { 
          p.name 
         }).ToList(); 
      ViewBag.movies = query; 


      return View(); 


譜寫視圖這個Java腳本代碼:

function behi() { 
     @{ 
      var behzad = ViewBag.movies; 
     } 

     alert('@(behzad)'); 


    } 


該Java腳本代碼,告訴我這一點:
enter image description here
我該如何編寫show controller查詢資源的java腳本代碼超讚?謝謝大家。

+0

'var behzad = @ Html.Raw(Json.Encode(ViewBag.movi​​es)); alert(behzad);'(不包裹在@ {...}') –

回答

1

序列化它。下面的代碼使用Newtonsoft的Json序列化器來做到這一點。

var movies = @Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.movies)); 

現在movies變量將是物品的陣列,每一個name屬性。

0

將對象返回到json,如下所示,並在javascript中使用它。 JavaScriptSerializer類位於System.Web.Script.Serialization包中。 希望這有助於。

DataClasses1DataContext behzad = new DataClasses1DataContext(); 
      var query = (from p in behzad.ImagePaths 
         select new 
         { 
          p.name 
         }).ToList(); 
      ViewBag.movies = new JavaScriptSerializer().Serialize(query); 
      return View(); 
+0

這是工作,但Java腳本警報告訴我這個:[{012B名稱":" http://s2.picofile.com/file /7783181933/Demo_Rehlat_Imam_Khomeini.jpg "},{" name ":" http://farsi.rouhollah.ir/image/imam.jpg "}]這是「 –

相關問題