C# 将每个用户输入作为纯文本处理

C# 将每个用户输入作为纯文本处理,c#,javascript,asp.net,.net,html,C#,Javascript,Asp.net,.net,Html,我们有一个非常大的web应用程序。 总共约12万条线路 在此应用程序中,用户可以输入大量文本。 在用户信息、文件夹、组等中 一些用户希望命名不同的对象,如Age

我们有一个非常大的web应用程序。
总共约12万条线路

在此应用程序中,用户可以输入大量文本。
在用户信息、文件夹、组等中

一些用户希望命名不同的对象,如
Age<20


出现了一个问题,因为ASP.NET会阻止此类输入,因为“如果使用JQuery,则无论何时将值设置为任何span或div

使用:

$('myDiv')。文本('alert(“a”));
不要使用:

    $('#myDiv').html('<script>alert("a")</script>');
$('#myDiv').html('alert(“a”));

$('myDiv').innerHTML='alert(“a”);

如果您不想使用HTML编码解码,请尝试
ValidateRequest=“false”
您可以像下面的代码一样执行:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" ValidateRequest="false" Inherits="_Default" %>

我正确地记得,当您使用数据绑定时,这是automatic@SteveB请您指定您的答案好吗?我到底应该绑定什么?我的意思是,如果您在数据模板(DataList、Datagrid等)中有一个
,如果您将textbox绑定到内部上下文对象,则编码/解码将由数据绑定自动处理。@SteveB但我有很多控件,它们不在datatemplate中。我也有一些控件,但它们也不能正确显示文本。我认为这不是他需要的解决方案:而injects将不管怎样,没有html编码/解码和转义都是可能的。第一部分是我们用来关闭安全机制的。第二部分我们必须检查整个应用程序,并将其添加到所有地方。我希望有一个更全局的解决方案。
    $('#myDiv').innerHTML='<script>alert("a")</script>';
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" ValidateRequest="false" Inherits="_Default" %>
<script>
      function Encode() {
       var value = (document.getElementById('TextBox1').value);
       value = value.replace('<', "&lt;");
       value = value.replace('>', "&gt;");
       document.getElementById('TextBox1').value = value;
      }
 </script>

</head>
<body>
 <form id="form1" runat="server">
 <asp:TextBox ID="TextBox1"  runat="server"></asp:TextBox>
 <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="Encode()" />
 </form>
protected void Page_Load(object sender, EventArgs e)
 {
  this.TextBox1.Text = Server.HtmlDecode(this.TextBox1.Text);
 }