Maison > développement back-end > C++ > Comment rendre dynamiquement une vue partielle dans ASP.NET MVC en cliquant sur un bouton ?

Comment rendre dynamiquement une vue partielle dans ASP.NET MVC en cliquant sur un bouton ?

DDD
Libérer: 2025-01-04 22:01:41
original
352 Les gens l'ont consulté

How to Dynamically Render a Partial View in ASP.NET MVC on Button Click?

Rendu dynamique d'une vue partielle lors d'un clic sur un bouton dans ASP.NET MVC

Description du problème :

Dans ASP.NET MVC , vous souhaitez afficher une vue partielle à l'intérieur d'un div spécifique côté client lorsqu'un bouton est cliqué, et la vue partielle doit utiliser les données obtenues dynamiquement pendant l'événement du bouton.

Exemple de code :

Considérez le code de bouton suivant :

<button type="button">
Copier après la connexion

Ce bouton tente d'accéder à une URL distincte lorsqu'on clique dessus. Pour gérer l'événement de clic et restituer dynamiquement la vue partielle, nous devons modifier le code comme suit :

<button>
Copier après la connexion

De plus, ajoutez le script suivant à la page :

var url = '@Url.Action("DisplaySearchResults", "Search")';
$('#search').click(function() {
  var keyWord = $('#Keyword').val(); // Retrieve the user-entered search text
  $('#searchResults').load(url, { searchText: keyWord });
});
Copier après la connexion

Modifiez la méthode du contrôleur pour accepter le texte de recherche comme argument :

public ActionResult DisplaySearchResults(string searchText)
{
  // Build list based on the provided searchText and return the partial view
  var model = // To be implemented
  return PartialView("SearchResults", model);
}
Copier après la connexion

Explication :

  • La méthode jQuery .load effectue un appel AJAX à l'URL spécifiée, en transmettant toutes les données fournies dans le paramètre data .
  • La méthode du contrôleur est chargée de générer la vue partielle basée sur les données fournies dynamiquement.
  • Le contenu mis à jour est chargé dans le div #searchResults, rendant dynamiquement la vue partielle.

Remarque : Si votre classe de modèle contient plusieurs propriétés avec des attributs de validation, remplacez la gestion onclick par le code suivant et utilisez plutôt un bouton de soumission :

$('form').submit(function() {
  if (!$(this).valid()) { return false; }
  var url = '@Url.Action("DisplaySearchResults", "Search")';
  var form = $(this).serialize();
  $('#searchResults').load(url, form);
  return false;
Copier après la connexion

Dans ce cas, la méthode du contrôleur doit gérer le SearchCriterionModel complet objet :

public ActionResult DisplaySearchResults(SearchCriterionModel criteria)
{
  var model = // Build list based on the properties of criteria and return the partial view
  return PartialView("SearchResults", model);
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal