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
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" });
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);
}
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.