C# 如何在不禁用Validation的情况下将HTML或其他类似标记安全地传递到文本框中?
我有一个下拉列表,需要根据CAML查询筛选的内容。此查询必须由用户设置 允许用户输入CAML查询或其他常见标记的最佳方法是什么 例如:C# 如何在不禁用Validation的情况下将HTML或其他类似标记安全地传递到文本框中?,c#,asp.net,.net,html,C#,Asp.net,.net,Html,我有一个下拉列表,需要根据CAML查询筛选的内容。此查询必须由用户设置 允许用户输入CAML查询或其他常见标记的最佳方法是什么 例如: <OrderBy><FieldRef Name='SomeColumn' Ascending='True' /></OrderBy> 如果我使用文本框,则需要禁用验证,否则我会丢失查询内容,因为.NET会将类似HTML的标记从该文本框中剥离出来,以针对XSS使用protext 我不想经历构建查询配置器的过程,但我也明白禁
<OrderBy><FieldRef Name='SomeColumn' Ascending='True' /></OrderBy>
如果我使用文本框,则需要禁用验证,否则我会丢失查询内容,因为.NET会将类似HTML的标记从该文本框中剥离出来,以针对XSS使用protext
我不想经历构建查询配置器的过程,但我也明白禁用验证是一种糟糕的做法。这里是否有一个中间立场,或者只是一个更好的方式
禁用验证并使用System.Web.HttpUtility.HtmlEncode是有效的解决方案吗
提前感谢。在上传之前,使用JavaScript方法更改文本,然后在web服务器上使用将其返回到原始状态
至于何时这样做,我会处理该事件,并告诉它将文本框内容复制到一个隐藏字段中,该字段将被上传(但不应提交文本框)。您可以使用web表单选择性地禁用验证(我相信是页面级的)。您可以使用MVC以非常精细的方式(即逐字段)禁用它。