如何让文本框接受 html 标签

GLP*_*GLP 1 html asp.net validation textbox html-encode

我的 aspx 页面中有一个文本框。用户希望能够在文本框中输入 html 标签。到目前为止,我知道绕过验证错误的唯一方法是将 ValidateRequest 设置为 false。我尝试了其他几种方法:(1)在这样的 javascript 中使用 Server.HtmlEncode

<%@ Import Namespace="System.Web" %>

        var tb = document.getElementById("<%=synopsisTextBox.ClientID%>");
        var value =Server.HtmlEncode(tb.value);
Run Code Online (Sandbox Code Playgroud)

但是我得到了编译器错误。谁能告诉我我做错了什么?

(2) 创建我自己的编码函数

function escapeHTML (str) 
{ 
   var div = document.createElement('div'); 
   var text = document.createTextNode(str); 
   div.appendChild(text); 
   return div.innerHTML; 
}
Run Code Online (Sandbox Code Playgroud)

不知何故,它并没有很好地工作。当我在同一页面中单击某个导致回发的按钮时,它会卡住。

谁能告诉我是否有更好的方法让您的文本框接受 html 标签?谢谢。

Sti*_*gar 5

只需禁用输入验证(仅适用于页面)并确保您对来自页面中其他文本框的输入进行编码。默认情况下输入验证是打开的,不是因为它不应该被禁用,而是因为你应该知道你在做什么并明确地做。通过这种方式,您一定要注意并进行自己的输入验证。