每当用户在我的Web应用程序中发布包含<
或>
在页面中的内容时,我都会抛出此异常.
我不想进入关于抛出异常或崩溃整个Web应用程序的聪明性的讨论,因为有人在文本框中输入了一个字符,但我正在寻找一种优雅的方法来处理这个问题.
捕获异常并显示
发生错误请返回并重新输入整个表单,但这次请不要使用<
对我来说似乎不够专业.
禁用post validation(validateRequest="false"
)肯定会避免此错误,但它会使页面容易受到许多攻击.
理想情况:当发回包含HTML限制字符的回发时,Form集合中的已发布值将自动进行HTML编码.所以.Text
我的文本框的属性将是something & lt; html & gt;
有没有办法可以从处理程序中执行此操作?
我有一个表格,我使用ckeditor.这种形式在Asp.Net 2.0和3.5上运行良好,但现在它在Asp.Net 4+中不起作用.我有ValidateRequest ="false"指令.有什么建议?
我正在使用ozeki ng SMS网关.我无法向任何手机发送任何短信.请帮我通过网络发送短信到手机
从客户端(textboxError =检测到潜在危险的Request.Form值在Page指令或在配置部假'".设置该值后,可以随后通过设置validateRequest =禁用请求验证’.然而,这是强烈建议您的应用程序在这种情况下明确检查所有输入.有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=153133.
异常详细信息:System.Web.HttpRequestValidationException:从客户端检测到潜在危险的Request.Form值(textboxError ="
和我的cs文件是
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net;
using System.Text.RegularExpressions;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
textboxRecipient.Width = 400;
textboxMessage.Width = 450;
textboxMessage.Rows = 10;
textboxError.Width = 400;
textboxError.Rows = 5;
textboxError.ForeColor = System.Drawing.Color.Red;
textboxError.Visible = false;
textboxError.Text = "";
if (!Page.IsPostBack)
{
textboxRecipient.Text = "+441234567";
textboxMessage.Text = "Hello …
Run Code Online (Sandbox Code Playgroud) asp.net ×3
asp.net-4.0 ×1
asp.net-mvc ×1
html-encode ×1
request.form ×1
sms ×1
sms-gateway ×1
validation ×1