web-dev-qa-db-fra.com

Comment puis-je utiliser Html.Action?

J'essaie de comprendre comment utiliser:

@Html.Action("GetOptions", )

Ce que je voudrais faire est de passer un appel à mon contrôleur et de transmettre les paramètres:

pk = "00" and rk = "00"

Quelqu'un peut-il expliquer comment je peux le faire avec le Html.Action

36
Samantha J T Star

Vous devriez consulter la documentation de la méthode Action ; c'est bien expliqué. Pour votre cas, cela devrait fonctionner:

@Html.Action("GetOptions", new { pk="00", rk="00" });

Le paramètre controllerName sera par défaut le contrôleur à partir duquel Html.Action est appelé. Donc, si vous essayez d'appeler une action d'un autre contrôleur, vous devrez spécifier le nom du contrôleur de la manière suivante:

@Html.Action("GetOptions", "ControllerName", new { pk="00", rk="00" });
42
Nadir Muzaffar

tout d'abord, créez une classe pour contenir vos paramètres:

public class PkRk {
    public int pk { get; set; }
    public int rk { get; set; }
}

utilisez ensuite le Html.Action en passant les paramètres:

Html.Action("PkRkAction", new { pkrk = new PkRk { pk=400, rk=500} })

et utiliser dans le contrôleur:

public ActionResult PkRkAction(PkRk pkrk) {
    return PartialView(pkrk);
}
8
Gustavo F

Un autre cas de figure est la redirection http . Si votre page redirige les requêtes http vers https, il se peut que votre vue partielle tente de rediriger par elle-même.

Cela cause à nouveau le même problème . Pour ce problème, vous pouvez réorganiser vos pages d'erreur .net ou la configuration de pages d'erreur IIS.

Assurez-vous simplement que vous redirigez les demandes vers la bonne erreur ou la page non trouvée et assurez-vous que cette page d'erreur contient une partie non problématique. Si votre page ne prend en charge que le protocole https, ne transmettez pas les requêtes à la page d'erreur sans utiliser le protocole https. Si la page d'erreur contient des parties, cette partition tente de rediriger séparément les adresses URL demandées.

0
okproject