2010-02-10 26 views
9

Używam ASP.NET MVC.Zezwalaj na HTML w polach tekstowych

Jak mogę zezwolić użytkownikom na wprowadzanie kodu HTML do pola tekstowego? mam seting validaterequest do false i wciąż otrzymuję ten błąd:

A potentially dangerous Request.Form value was detected from the client (Summary=" <a> ").

wiem, że nie zaleca się itp, ale to jest do użytku wewnętrznego.

Odpowiedz

15

Dodaj atrybut ValidateInput(false) do działania

[ValidateInput(false)] 
public ActionResult MyAction (int id, string content) { 
} 
28

Jeśli używasz DataAnnotations od modelu, można otworzyć jedną właściwość, aby umożliwić HTML za pomocą AllowHtml attribute. Zauważ, że ten atrybut znajduje się w przestrzeni nazw System.Web.Mvc.

Prawdopodobnie byłoby to zalecane niż ustawienie ValidateInput na wartość false na poziomie akcji.

+4

Zgadzam się z @jlnorsworthy. Użyj atrybutu AllowHtml. –

+0

+1 do obu powyższych, o wiele bezpieczniejsze rozwiązanie. –

+0

@jlnorsworthy right, ale allowhtml nie akceptuje tagu . Co mogę zrobić? – QMaster

Powiązane problemy