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.

War es hilfreich?

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 „“ ist eine potenziell gefährliche Bit Daten auf dem Server zu übernehmen. Siehe diese Frage auf Stackoverflow. Sie sehen den Fehler nicht, weil die Fehlerseite HTML wird eher Ajax-Aufruf an die Update der zurückgegeben wird, als Sie Browser zu leiten, und die Update nicht weiß, was mit ihm zu tun.

Sie können die Prüfung durch das Hinzufügen

deaktivieren
ValidateRequest="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>&lt;foo> &amp; &lt;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.

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