Frage

Ich bin kürzlich auf ein Problem gestoßen, bei dem ein Wert null war, wenn mit Request.Form darauf zugegriffen wurde, aber in Ordnung war, wenn er mit Request.Params abgerufen wurde.Welche Unterschiede zwischen diesen Methoden können dazu führen?

War es hilfreich?

Lösung

Request.Form umfasst nur über ein Formular gepostete Variablen, während Request.Params sowohl gepostete Formularvariablen als auch als URL-Parameter angegebene Get-Variablen umfasst.

Andere Tipps

Request.Params enthält eine Kombination aus QueryString, Form, Cookies und ServerVariables (in dieser Reihenfolge hinzugefügt).

Der Unterschied besteht darin, dass, wenn Sie eine Formularvariable namens „key1“ haben, die sowohl im QueryString als auch im Formular enthalten ist, Request.Params[„key1“] den QueryString-Wert zurückgibt und Request.Params.GetValues(„key1“) einen zurückgibt Array von [Abfragezeichenfolgewert, Formularwert].

Wenn es mehrere Formularwerte oder Cookies mit demselben Schlüssel gibt, werden diese Werte dem von GetValues ​​zurückgegebenen Array hinzugefügt (d. h.GetValues ​​gibt kein gezacktes Array zurück)

Der Grund dafür war, dass der Wert, den ich abgerufen habe, von einem Formularelement stammte, die Übermittlung jedoch über einen Link + JQuery und nicht über eine Formularschaltfläche „Senden“ erfolgte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top