2011-12-24 103 views
0

尝试处理某些包含字符的用户输入,如<。Sys.WebForms.PageRequestManagerServerErrorException:发生未知错误

我确实想要清理这个输入并允许它显示并且是XSS安全的。

即使我还没有达到清理输入的vb代码,我仍然收到这个ajax错误。

Sys.WebForms.PageRequestManagerServerErrorException:处理服务器上的请求时发生未知错误。从服务器返回的状态代码是:500

输入由一个btnNoteSave控制,它是一个updatepanel触发器。

   <div style="width: 100%; float: left"> 
       <div> 
        <asp:Button ValidationGroup="valgroup1" ID="btnNoteSave" runat="server" Text="Save" 
         class="ui-state-default ui-corner-all float-left ui-button" /> 
       </div> 
      </div> 
      <div style="width: 100%; float: left"> 
       <asp:UpdatePanel ID="pnlNotes" runat="server"> 
        <ContentTemplate> 
         <div id="content_container" style="margin-top: 85px"> 
          <asp:Label ID="lblNotes" runat="server"></asp:Label> 
         </div> 
        </ContentTemplate> 
        <Triggers> 
         <asp:AsyncPostBackTrigger ControlID="btnNoteSave" EventName="click" /> 
        </Triggers> 
       </asp:UpdatePanel> 
      </div> 

我试过在后面的代码中清理我的输入,但我甚至没有达到那么远。错误是当它到达这里时抛出的ajax错误。

Protected Sub btnNoteSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnNoteSave.Click 

.... 

     newnote.Note = Server.HtmlEncode(txtNote.Text) 
.... 

End Sub 

任何想法如何处理这些问题?

感谢,

回答

0

你可能需要添加ValidateRequest="false"到你的页面的@ Page指令(或在你的web.config文件中的<pages>元素。这将禁用XSS通过ASP.NET检查被触发时,遇到<>字符。

如果你仍然得到来自PageRequestManager 500错误尝试暂时将在UpdatePanel外的控件,以便可以更好地检查运行时错误。

相关问题