Donc, fondamentalement Voici ce que je fais:faisant .ajax demande au contrôleur mvc - mais .done fonction ne
dans le corps - méthode onload j'appelle cette fonction javascript
function TestN() {
var list = new Array();
var allElements = document.getElementsByTagName('*');
$("*[wordNum]").each(function()
{
var endRes = {
ControllerName: this.id,
WordNumber: this.getAttribute("wordNum")
};
list.push(endRes);
});
jQuery.ajax({
url:' @Url.Action("Translate")' ,
contentType: "application/json",
dataType: "json",
data: { List : JSON.stringify(list) }
,
traditional: true
})
}
ce qu'il fait - il recherche tous les contrôleurs avec l'attribut "WrdNum" et ensuite je fais une requête ajax à l'action MVC Translate!
Dans le Traduire Action Je fais une demande à un service Web qui alimente une liste de type - TranslateModel
public ActionResult Translate(string List)
{
List<TranslateModel>listto = WebServiceBea.TranslateList(1, List);
return View(listto);
}
Aussi Voici mon translateModel
public class TranslateModel
{
public string ControllerName { get; set; }
public string WordNumber { get; set; }
public string Description { get; set; }
}
Donc, fondamentalement, ma question est -> Quel type dois-je retourner à une vue -> et comment retourner cette liste à une fonction javascript ou jquery qui doit définir la propriété innerHtml de certains contrôles html avec l'enregistrement de cette liste. **
je maintenant que c'est étrange, mais qui est ma tâche
EDIT
Merci beaucoup pour l'aide. Mais maintenant j'ai un autre problème:
Après avoir changé mon javascript et mis. méthode fait pour que je puisse obtenir les données du serveur, il ressemble à ceci:
$ (document) .ready (function() { liste var = new Array();
$("*[wordNum]").each(function() {
var endRes = {
ControllerName: this.id,
WordNumber: this.getAttribute("wordNum")
};
list.push(endRes);
});
jQuery.ajax({
url: ' @Url.Action("Translate")',
contentType: "application/json",
dataType: "json",
data: { List: JSON.stringify(list) }
, traditionnel: true,
}).done(function (result)
{
alert ("HII") ;
});
});
peu importe ce que je mets dans la fonction .done il exécute jamais il semble que le contrôleur ne sait pas où retourner le résultat | I | ne pas peut maintenant quelque chose... arriver du fait que je fais cette demande en om la page .layout - sur document prêt. s
Est-ce que ça va * seulement * appeler de javascript? Si oui, la chose la plus facile à faire serait de retourner la liste comme json et l'analyser avec javascript? – mituw16