2013-05-09 53 views
0

我想從客戶端代碼中訪問ViewBag數據。這是我在我的控制器已經試過:如何搜索ViewBag Json字符串

ViewBag.Tasks = new JavaScriptSerializer().Serialize(tasks); 

在我看來,我會那麼把它放進一個隱藏字段,以便其提供客戶端:

<input type="hidden" name="diagramData" data-nodes="@ViewBag.Tasks" /> 

在我的JavaScript文件,我然後搜索與所選節點相關的信息:

alert($("#diagramData").data("nodes")); //????? 

警報總是顯示「未定義」。爲什麼是這樣?

回答

1

這是錯誤的jQuery選擇器來檢索元素。嘗試:

$('input[name="diagramData"]').data("nodes") 

您可以設置在HTML中name屬性,但你嘗試通過id(因爲#)將其選中。屬性 - 等於選擇器需要通過name進行選擇。

或者,當然,只需添加一個id參數作爲「diagramData」並使用您的原始選擇器。

參考:

+1

感謝您的快速回復,伊恩。現在正在工作。 – Amanda 2013-05-09 03:57:55