XML-Tags in asp: TextBox verhindert, dass andere Kontrollen zu arbeiten?
-
05-07-2019 - |
Frage
Ich habe eine Reihe von Steuerelementen auf einer ASP-Seite. Einige sind in einem Update und manche nicht.
Wenn ich ein XML-Tag in einem der Textfelder setzen (zB „<foo>
“), dann alle Steuerelemente innerhalb der Update nicht funktionieren. Sobald die Tags entfernt werden, alles ist in Ordnung.
Meine Schaltfläche ‚Senden‘ ist in der Update und der Haltepunkt auf btnSubmit_Click wird nur getroffen, wenn es keine Tags in den Textfeldern sind.
Ich bin ein C # Entwickler seit langer Zeit aber ziemlich neu in ASP.NET so sein könnte etwas offensichtlich ... fehlt das ist einfach nicht das Verhalten, das ich erwarte.
Lösung
Wenn Sie die Update von der Seite nehmen waren, würden Sie feststellen, dass die Postbacks einen Fehler verursacht wurde, weil .NET denkt, dass „
Sie können die Prüfung durch das Hinzufügen
deaktivierenValidateRequest="false"
zur <@Page ...> Direktive an der Spitze Ihrer aspx-Datei. Oder Sie können die web.config modifizieren, um die gleiche Wirkung direkt auf Ihrem Web-App zu bekommen.
Andere Tipps
Sie können nicht Markup in einem Textfeld setzen. Sie müssen alle Markup-Zeichen in Textarea HTML-entkommen genauso wie mit jedem anderen Element muss.
<textarea><foo> & <bar></textarea>
Auch wenn in der Praxis Browser in der Regel aus arbeiten, was Sie meinen und zeigt keine <
Zeichen, wie sie ist, ist es immer noch ungültige HTML und nicht-wohlgeformter XML (vermutlich ist dies auch die Wurzel Ihrer Ausgabe in ASP.NET, obwohl ohne spezifischen Code ist es schwer) zu erzählen.