Je suis bloqué dans la publication du résultat de JSON, donc laissé la partie de succès vide.MVC: Résultat de JSON Remplissage automatique Afficher
Voir
@model MvcApplication2.Models.About
@{
ViewBag.Title = "About";
}
<p> @Html.DisplayFor(m=>m.test) </p>
<p> @Html.DisplayFor(m=>m.test1) </p>
Modèle
public class About
{
public string test { get; set; }
public string test1 { get; set; }
}
Contrôleur
public class HomeController : Controller
{
public JsonResult About()
{
ViewBag.Message = "Your app description page.";
About ab = new About()
{
test = "a",
test1 = "b"
};
return Json(ab, JsonRequestBehavior.AllowGet);
}
}
JQuery dans le fichier externe
$(document).ready(function() {
var itemName = "#btn-about";
$(itemName).click(function() {
$.ajax({
type: 'GET',
dataType: 'Json',
url: '/Home/About',
success: function (data) {
var option = '';
},
error: function (xhr, ajaxOption, thorwnError) {
console.log("Error")
},
processData: false,
async: true
});
});
});
=> Je suis un peu confus maintenant. Bien que j'obtienne un résultat au format JSON en utilisant AJAX, je veux le publier dans cette vue 'About'. La vue a déjà @model défini, donc dès que j'obtiens le résultat, je veux que la vue le charge automatiquement car je ne pense pas que ce soit une bonne option pour créer des contrôles html en Javascript.
=> Est-il possible ou dois-je remplir le contrôle un par un.
=> Je suis nouveau à MVC, alors pourriez-vous me faire part de toute bonne suggestion.
Nous ne parlons généralement pas des choses comme « contrôle » dans MVC. Au lieu de cela, nous utilisons la langue de HTML/browser et appelons les éléments DOM ou par leur nom de tag spécifique. Si vous voulez livrer des extraits plus complexes - par exemple un menu ou un onglet - et que vous voulez toujours le livrer via AJAX, pensez à renvoyer les vues partielles au format HTML plutôt que JSON. Avec JSON, il peut être plus difficile de mettre à jour un extrait HTML complexe. – tvanfosson