VB中的HttpRequestValidationException

时间:2018-06-14 09:12:06

标签: html asp.net vb.net telerik httprequest

这应该是一个常见的问题,但我没有找到vb案例的答案。

所以,问题是我有几个texbox可以包含“<>”标记符号。 因此,任何保存尝试都失败了。 我收到了这个问题

Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 500

根据事件查看器 - > Windows日志 - >应用程序,真正的错误是

Exception type: HttpRequestValidationException 
    Exception message: A potentially dangerous Request.Form value was detected from the client (ctl00$cphContent$rgMappingFields$ctl00$ctl04$txtHeaderName="<TEST>").

此框在.aspx页面上显示如下:

<telerik:GridTemplateColumn HeaderText="HeaderName" ItemStyle-Width="20%" HeaderStyle-Width="20%" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="center" UniqueName="HeaderName">                                                                        
   <ItemTemplate>
      <asp:TextBox runat="server" ID="txtHeaderName" MaxLength="50"/>                                                                    
   </ItemTemplate>                                                                       
   <HeaderStyle Width="30px" />                                                                   
</telerik:GridTemplateColumn>  

其内部telerik:GridTemplateColumn中的RadGrid

我浏览了几种解决方案,其中最受欢迎的是将ValidateRequest="False"添加到<%@ Page。在stackoverflow或其他地方。

我试过这个:

<%@ Page
    Language="VB"
    Theme="Testing"
    MasterPageFile="~/Testing/Main.master"
    AutoEventWireup="false"
    CodeFile="Book-Storage.aspx.vb"
    Inherits="Book_Storage"
    EnableEventValidation="false"
    ValidateRequest="false"%>

没有任何事情发生。有了新的调试,没有区别。我应该清除cookie还是重新启动IIS才能生效? 不仅我不确定它的telerik是否搞砸了我,但我也对web.config感到好奇。 一些消息来源说,那里需要<httpRuntime requestValidationMode="2.0" />。其他来源根本没有提到它。据我所知,这取决于.NET版本。 (我的是4.6.1)。 考虑到在项目中我已经有几个使用ValidateRequest="False"的屏幕但我在web.config中没有这一行,我担心添加它可能会破坏我甚至不知道的东西。

saw的另一个解决方案是将EnableEventValidation="false"添加到<%@ Page,但我已经在代码中使用了它,这没有帮助。

有人可以指出我在这里缺少什么,或者我究竟忽略了什么?

0 个答案:

没有答案