-1
votes

Comment transmettre la chaîne d'une vue sur un contrôleur en MVC

Ce code JavaScript est utilisé pour transmettre une chaîne à partir d'une vue sur une action dans un contrôleur: xxx pré>

Brandsofacategory code dans le contrôleur: p>

public ActionResult brandsOfACategory(string id)
    {
        return View();
    }


1 commentaires

this.Id peut contenir NULL - non pas besoin d'utiliser contentType car vous pouvez le transmettre comme DATA: {id: "Soirée"} .


3 Réponses :


-1
votes

Avec votre code actuel, lorsque l'appel AJAX est effectué, la charge utile de la demande n'a qu'une valeur de chaîne. Par exemple, si votre lien cliqué a une valeur d'attribut id "link1", il enverra la chaîne ci-dessous comme la charge utile de la demande de votre appel AJAX. (Vous pouvez le voir si vous ouvrez vos outils de développement. -> Onglet Réseau) XXX

Pour la liaison de modèle au travail, la charge utile doit avoir un format de la valeur de clé de sorte que la valeur soit mappée sur le paramètre de la même valeur que la clé. < / P>

Comme il s'agit d'une valeur simple, vous n'avez pas besoin d'envoyer nécessairement la version JSON strongifiée et le contentType comme application / json . Envoyez simplement l'objet JS comme DATA . Assurez-vous que vous envoyez un objet JavaScript qui a la clé / nom de la propriété identique à votre nom de paramètre de méthode d'action ( ID ) et fonctionnera.

supposer que votre étiquette d'ancrage a une Valeur ID Attribut de sorte que le this.id expression renvoie la valeur de chaîne valide. xxx

dans le script, Vous voulez probablement arrêter le comportement de clic normal aussi pour empêcher la page de naviguer à la valeur d'attribut href. xxx

ceci enverra la valeur comme id = myid comme des données de formulaire pour la demande. Puisque vous ne spécifiez pas explicitement le contenu de contenu, il utilisera le application par défaut / x-www-form-urlencoded

si l'utilisateur de lien cliqué n'a pas de ID Attribut, le code n'enverra aucune valeur car this.id renvoie une chaîne vide et votre valeur de paramètre au côté serveur sera null.


0 commentaires

0
votes
$.ajax({
  type: 'POST',
  url: '/brandsOfACategory',
  contentType: 'application/json; charset:utf-8',
  data: { 'id': id }
})

0 commentaires

0
votes

code AJAX xxx

pour plus d'informations sur Ajax LINK

Paramètre Reliure dans ASP.NET Link


0 commentaires