Wie bekomme ich die geposteten Daten in MVC Action?

Ich versuche, nach einigen Daten, um einen ASP.NET MVC-Controller-Action. Aktuelle ich bin versucht, WebClient.UploadData() post mehrere Parameter an meine Aktion.

Den folgenden treffen wird die Aktion aber alle Parameter null sind. Wie können die gebuchten Daten aus dem http-request?

string postFormat = "hwid={0}&label={1}&interchange={2}localization={3}";
var hwid = interchangeDocument.DocumentKey.Hwid;
var interchange = HttpUtility.UrlEncode(sw.ToString());
var label = ConfigurationManager.AppSettings["PreviewLabel"];
var localization = interchangeDocument.DocumentKey.Localization.ToString();

string postData = string.Format(postFormat, hwid, interchange, label, localization);

using(WebClient client = new WebClient())
{
   client.Encoding = Encoding.UTF8;
   client.Credentials = CredentialCache.DefaultNetworkCredentials;
   byte[] postArray = Encoding.ASCII.GetBytes(postData);
   client.Headers.Add("Content-Type", "pplication/x-www-form-urlencoded");
   byte[] reponseArray = client.UploadData("http://localhost:6355/SymptomTopics/BuildPreview",postArray);
   var result = Encoding.ASCII.GetString(reponseArray);
   return result;
}

Hier ist die Aktion, die ich rufe

public ActionResult
BuildPreview(string hwid, string
label, string interchange, string
Lokalisierung) {
... }

Wenn diese Aktion erreicht ist, sind alle Parameter null.

Habe ich versucht, mit dem WebClient.UploadValue() und übergeben die Daten in Form einer NameValueCollection. Diese Methode gibt immer einen status 500 und da ich diesen http-request innerhalb der MVC-Anwendung, die ich kann nicht einen Weg finden, testen diese.

Jeder Hilfe bekommt dies gelöst wäre super hilfreich.

-Nick

Korrigierte ich die Header zu Lesen:

client.Headers.Add("Content-Type", "application/x-www-form-urlencoded");

Nun UploadData nur Fehler sofort mit server-Fehler 500.

  • Ihre Inhalte Typ sieht defekt aus. Ihnen fehlt ein 'a' auf der Vorderseite pplication/x-www-form-urlencoded.
  • Danke.. also wenn ich korrigiere meine Tippfehler UploadData() nur Fehler 500
  • Haben Sie irgendwelche besonderen Routen definiert?
  • Zeigen Sie uns die 500 exception details
  • Meine route sieht halt so aus: - Routen.MapRoute( "BuildPreview", "SymptomTopics/BuildPreview/{hwid}/{label}/{Lokalisierung}", new { controller = "SymptomTopics", action = "BuildPreview"} );
  • Ich schicke alles außer der xml-Daten in der Abfrage-string.. diese Werte zeigen sich gut, aber wie bekomme ich die XML-Datei geschrieben.

InformationsquelleAutor Nick | 2011-06-09
Schreibe einen Kommentar