Pase HashTable para ver desde el controlador en MVC 3

¿Hay alguna manera de pasar un HashTable cargado con clave/valores a una vista de página de una manera que luego puedo usar a través de javascript/Jquery?

Ejemplo: tengo HashTable con

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

Entonces, en la vista, tengo un combo con todos los modelos de automóviles y cerca de eso, tengo un cuadro de texto que se completa automáticamente con el fabricante tomado de javascript.

Hay una manera de hacerlo ??

(Soy realmente novato en MVC 3 :()

preguntado el 22 de mayo de 12 a las 14:05

2 Respuestas

Hay diferentes maneras de resolver este problema:

si no desea obtener esta lista dinámicamente sin recargar, puede usar una solicitud json (ejemplos).

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);
    }
       }

Controlador (c#):

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

Además, puede acceder a todos los elementos html desde javascript. Entonces puede poner el contenido en todo tipo de elementos html.

contestado el 22 de mayo de 12 a las 14:05

Puede serializar la mayoría de los objetos de C# utilizando el siguiente método en la vista:

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

Si tiene algunas estructuras de datos similares a árboles con relaciones padre/hijo, es posible que tenga problemas, ya que el codificador no puede resolver las relaciones circulares.

contestado el 22 de mayo de 12 a las 16:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.