Как запретить ввод HTML в текстовое поле веб-формы ASP.NET - PullRequest
6 голосов
/ 03 сентября 2010

У меня есть несколько текстовых полей в веб-форме ASP.NET. Я хочу убедиться, что пользователи не вводят HTML в эти текстовые поля. Однако я не уверен, как предотвратить ввод HTML. Из-за этого я решил, что я хочу разрешить только буквенно-цифровые символы, пробелы, восклицательный знак, острый знак, знаки доллара, знаки процента, символы каретки, звезды, а также левую и правую скобки. Я опускаю амперсанд, потому что не хочу, чтобы они вводили что-то вроде "

Как мне это сделать? Я делаю это правильно?

Спасибо!

Ответы [ 4 ]

1 голос
/ 03 сентября 2010

Я использовал:

HttpUtility.HtmlEncode();

Подробнее здесь .

1 голос
/ 03 сентября 2010

По умолчанию страница запрещает пользователям публиковать HTML или сценарии в текстовых полях или текстовых областях. См MSDN

1 голос
/ 03 сентября 2010

Посмотрите здесь http://msdn.microsoft.com/en-us/library/ff649310.aspx

Вы можете поместить общий оператор в веб-конфигурацию. ValidateRequest = true проверит весь ввод пользователя и выдаст ошибку, если пользователь вставит что-то с плохими символами.

Если вам нужно разрешить некоторые теги html, вам нужно будет свернуть свои собственные.

0 голосов
/ 03 сентября 2010

Вы можете использовать метод для очистки HTML-кодов от записи, как:

public static string ClearHTML(string Str, Nullable<int> Character)
{
    string MetinTxtRegex = Regex.Replace(Str, "<(.|\n)+?>", " ");

    string MetinTxtSubStr = string.Empty;

    if (Character.HasValue)
    {
        if (MetinTxtRegex.Length > Character)
        {
            MetinTxtSubStr = MetinTxtRegex.Substring(0, Character.Value);
            MetinTxtSubStr = MetinTxtSubStr.Substring(0, MetinTxtSubStr.LastIndexOf(" ")) + "...";
        }
        else
        {
            MetinTxtSubStr = MetinTxtRegex;
        }
    }
    else
    {
        MetinTxtSubStr = MetinTxtRegex;
    }
    return MetinTxtSubStr;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...