2010-07-08 4 views
1

Est-il possible de publier un formulaire à partir d'un site MVC afin qu'il appelle l'action POST dans un contrôleur sur un autre site? Je peux faire un GET facilement, mais une redirection de navigateur est toujours un GET selon ma compréhension et je suis incapable d'invoquer l'action POST du site cible.Publication d'un site ASP.NET MVC dans un autre

par exemple. http: /siteA.com/test invoque http://siteB.com/result/signin ... dans le ResultController, la version Get de l'action "SignIn" est invoquée, mais j'ai besoin que la version "Post" soit invoquée car j'ai besoin de passer des paramètres dans le POST entête.

Actuellement, j'ai recours à l'utilisation d'un GET et je passe des paramètres. en utilisant la chaîne de requête qui n'est pas idéale pour mon scénario. Toute aide ici serait appréciée.

+1

N'utilisez pas GET pour l'envoi de données. Dois-je en dire plus? :) –

+0

Que voulez-vous faire avec les résultats de la publication sur l'autre site? Voulez-vous que l'utilisateur voie les résultats de la publication ou fasse le post derrière la scène et renvoie votre propre page en conséquence? Besoin de savoir si vous devez effectuer le côté serveur de publication ou le site client. –

+0

Bonjour Todd, je ne veux pas que l'utilisateur puisse voir les données. J'utilise actuellement des paramètres de chaîne de requête. ce qui est moins qu'idéal pour moi. Je voudrais le POST afin que les données dont le site cible a besoin soient transmises via les en-têtes POST, complètement cachés à l'utilisateur. – Cranialsurge

Répondre

1

J'utilise AJAX pour appeler la cible et les paramètres regroupés dans nécessaires pour poster là-dedans.

4

Vous pouvez POST en utilisant une forme simple:

<form method="post" action="http://othersite.com/controller/action"> 
    <!-- some input fields containing the values to post --> 
    <input type="hidden" name="param1" value="value1" /> 
    <input type="submit" value="Post to other site" /> 
</form> 
+0

Je ne veux pas que les données que je passe de siteA à siteB soient visibles quand l'utilisateur fait une "vue de source" dans le navigateur. – Cranialsurge

+0

Deux possibilités: crypter ou effectuer une requête POST côté serveur mais dans ce cas vous ne pourrez pas rediriger l'utilisateur vers la page résultante. –

Questions connexes