2009-07-27 9 views
0

J'ai 2 applications ASP.Net dans une solution. On est à peu près un harnais de test pour une application tierce qui POST des données dans l'application primaire. J'ai essayé d'imiter cette fonctionnalité en faisant un formulaire HTML de base et en définissant l'action pour pointer vers l'application principale; cependant, Request.Form NameValueCollection était vide. J'ai essayé de le faire dans ASP.Net en utilisant une redirection 307 et j'ai eu le même problème. J'ai temporairement déplacé la forme temporaire dans le projet principal afin que je puisse continuer à tester.L'affichage inter-domaine dans ASP.Net perd les champs de formulaire

Voici le 307 Code Redirect que j'utilisais:

Response.ClearContent(); 
Response.StatusCode = 307; 
Response.StatusDescription = "Temporary Redirect"; 
//redirect to a different app. 
Response.RedirectLocation = "http://localhost:xxxx/default.aspx"; 
Response.Flush(); 

est-il un moyen de faire interdomaine postage dans les formulaires web ASP.net? Il fonctionne dans le même domaine mais pas pour des raisons différentes.

Répondre

0

La meilleure façon serait d'utiliser un non côté serveur <forme>-à-dire avec pas runat = « server » attribut, et vient de mettre la l'action attribut à l'URL que vous souhaitez publier sur :

<form method="post" action="http://localhost:xxxx/default.aspx"> 
    ... 
</form> 

Espérons que cela aide.

+0

J'ai tout d'abord essayé et la collection Request.Forms est toujours vide. – JamesEggers

+0

Cela peut valoir la peine de suivre la requête au niveau HTTP pour voir exactement ce qui est envoyé dans les données POST - des outils tels que le panneau Net de Firebug ou un serveur proxy tel que celui fourni avec Burp Suite (http: //www.portswigger .net/suite /) devrait aider avec ceci. –

Questions connexes