0

有没有办法将HashTable加载的键/值传递给页面视图,然后我可以通过 javascript/Jquery 使用它?

示例:我有 HashTable

key = Car Model (206 XT), Value = "PEUGEOT", etc...............

因此,在视图中,我有一个包含所有车型的组合,并且在附近,我有一个文本框,其中自动填充了从 javascript 获取的制造商

有没有办法这样做?

(我真的是 MVC 3 中的菜鸟 :()

4

2 回答 2

1

有不同的方法来解决这个问题:

如果您不想在不重新加载的情况下动态获取此列表,则可以使用 json 请求(示例)。

Javascript:

 $.ajax({
       type: "POST",
       url: "/controler/action",
       dataType: "json",
       contentType: "application/json; charset=utf-8",
       data: jsonData,
       success: function (result){

         for(var i=0; i<result.length; i++) {
        var value = result[i];
        alert(i =") "+value);
    }
       }

控制器(c#):

  [HttpPost]
   public JsonResult Action()
   {
      return Json(YourTable.ToArray()); 
   }

此外,您可以从 javascript 访问每个 html 元素。因此,您可以将内容放在各种 html 元素中。

于 2012-05-22T13:33:12.773 回答
0

您可以在视图中使用以下方法序列化大多数 C# 对象:

<script type="text/javascript">
    var hashtable = @Html.Raw(Json.Encode(Model.YourHashtable)
</script>

如果您有一些类似树的具有父/子关系的数据结构,您可能会遇到问题,因为编码器无法解决循环关系。

于 2012-05-22T15:06:11.397 回答