MVC cliquez sur le bouton d'appel de POSTE de la méthode d'Action

Comment puis-je appeler un MVC méthode d'action avec des paramètres complexes, comme ci-dessous, à partir d'un événement de clic de bouton?

[ValidateInput(false)]
[HttpPost]
public ActionResult Export(ViewModel vm)
{
  //some logic
}

J'ai fait une action POST car j'ai besoin de passer des balises HTML de la page sur laquelle le bouton est à la méthode d'action qui est trop long. J'ai essayé cela, mais c'est pour une opération GET

<input type="button" value="Detail" onclick="location.href='@Url.Action("Export", "Report")?html=' + $('#test').html()" />
  • avez-vous essayé de le mettre en soumettre le formulaire ?
  • Vous devez envoyer une requête POST à l'Action, c'est à dire la soumission d'un formulaire ou d'une requête AJAX. location.href va faire une demande GET
  • Être fatigué à l'aide de [ValidateInput(false)] peut vous causer plus de maux de tête plus tard ce que vous essayez d'accomplir en l'éteignant.
  • Vous pouvez vérifier: stackoverflow.com/questions/25106722/...
  • Utilisez <form method="post" action="<%: Url.Action("Exporter", "Rapport") %>"/>
InformationsquelleAutor CSharped | 2017-05-23