2010-12-27 6 views
0

Ich verwende Ajax Control Toolkit 3.5. Ich habe eine Form wie folgt aus:Fehler beim Posten eines Formulars mit HTML-Tags in den Feldern

<body> 
<form id="form1" runat="server"> 
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"> 
</asp:ToolkitScriptManager> 
<div> 
    <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
     <ContentTemplate> 
      <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
      <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" /> 
      <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
     </ContentTemplate> 
    </asp:UpdatePanel> 
</div> 
</form> 

und damit verbundene Code-Behind dieser Seite ist dies:

protected void Button1_Click(object sender, EventArgs e) 
{ 
    Label1.Text = TextBox1.Text; 
} 

Wenn ich zum Beispiel „foo“ in die TextBox1 schreiben erfolgreich kopiert, die in Label1. Aber wenn ich schreibe, jeden beliebigen Text in das Textfeld mit einigen HTML-Tags wie "<b> foo </b >" Ich bekomme folgende Javascript-Fehler im IE statusbar:

alt text

Wie kann ich dieses Problem lösen?

Vielen Dank im Voraus.

Antwort

0

Kurz nachdem ich diese Frage gestellt hatte, fiel mir die Idee ein, die Formularfelder aus UpdatePanel herauszunehmen und die gleiche Operation erneut zu versuchen. Bingo! Es wirft die folgende Ausnahme:

A potentially dangerous Request.Form value was detected from the client (TextBox1="<b>foo</b>"). 
Description: Request Validation has detected a potentially dangerous client input value, and processing of the request has been aborted. This value may indicate an attempt to compromise the security of your application, such as a cross-site scripting attack. You can disable request validation by setting validateRequest=false in the Page directive or in the configuration section. However, it is strongly recommended that your application explicitly check all inputs in this case. 

Exception Details: System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client (TextBox1="<b>foo</b>"). 

Nach diesen Fehler zu sehen, und fügte hinzu, den folgenden Code zu dem <% @ Page%> der Seite das Problem gelöst.

ValidateRequest="false" 

hoffe, das hilft zu anderen ...