Pase HashTable para ver desde el controlador en MVC 3
Frecuentes
Visto 2,208 veces
0
¿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 :()
2 Respuestas
1
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
0
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 c# asp.net asp.net-mvc-3 or haz tu propia pregunta.