J'essaye d'implémenter un moyen Ajax pour mettre à jour ma grille de données. Jusqu'à présent, j'ai codé ce qui suit dans mon contrôleur:Problèmes implémentant Ajax pour retourner une page HTML.Partial dans MVC3
public ActionResult Detail(string ac, string me) {
vm.AdminDetails = _link.Detail(ac + me).ToList();
if (Request.IsAjaxRequest())
return PartialView(vm);
return View(vm);
}
Mon aperçu de la vue ressemble à ceci:
@model ViewModels.Shared.BaseViewModel
@{
Layout = "~/Areas/Administration/Views/Menus/_Layout.cshtml";
}
@section content {
<div class="bdy_box">
<div id="detailData" class="rep_tb0">
// code to generate the list of data
</div>
</div>
Mon instantané du javascript ressemble à ceci:
function reload(entity, pk) {
$.ajax({
url: "/Administration/" + entity + "s/Detail",
data: { pk: pk },
dataType: 'html',
cache: false,
success: function (responseText) {
$('#detailData').html(responseText);
}
});
};
Les données sont renvoyées MAIS mon problème est que d'autres données sont également renvoyées. Quand je regarde le contenu de detailData, je vois beaucoup plus que ce dont j'ai besoin. Par exemple, je vois quelque chose comme ce qui suit:
<div class="rep_tb0" id="detailData">
<title></title>
<meta content="" name="title">
<meta content="" name="description">
<meta content="" name="keywords">
<link type="image/x-icon" href="/Content/Favicons/default.ico" rel="shortcut icon">
<link type="text/css" rel="stylesheet" href="/Content/Stylesheets/Style203.css">
Y at-il une raison pour laquelle il me montrant tout cela et comment puis-je arrêter tout montrer ce type d'information d'en-tête?
Aucune vue partielle. Ce sont des données Ajax qui remontent au javascript. –
Melissa, tu vas avoir besoin d'avoir une vue partielle pour que ça marche, sinon ton div va toujours être peuplé avec le contenu de la vue complète. créez une vue partielle avec les éléments 'partiels' requis et vous serez prêt à partir. (Aussi, modifiez votre action selon ma réponse ci-dessus) –
Jim. En passant par ce que StanK dit dans ce billet, je ne crois pas qu'il dise que j'ai besoin d'une vue partielle. Peut-être que je suis juste en train de le lire, mais il semble qu'il dit que tout ira bien et ne fait aucune mention d'une autre vue http://stackoverflow.com/questions/8782879/how-can-i-code-a-refresh-of -a-html-renderpartial-en utilisant-ajax-en-mvc3/8782887 # comment10958218_8782887 –