鉴于以下控制器&动作:
public class CommentsController: AsyncController
{
[HttpPost, ValidateAntiForgeryToken, ValidateInput(false)]
public ActionResult AddComment(string subject, string text) {..}
}
当控制器收到带有encodeURIComponent("<>")
数据的ajax请求时:
Content-Type:application/x-www-form-urlencoded
subject=hello&text=%3C%3E
然后正确设置主题,但文本始终为空 那是为什么?
答案 0 :(得分:0)
尝试将AllowHtml属性附加到您的输入属性,而不是使用ValidateInput=false
。它只能附加到属性,因此您需要为输入参数创建POCO模型(顺便说一句,在您的情况下,最好有一个,例如包含其他验证属性)。例如:
public class CommentModel
{
public string Subject { get; set; }
[AllowHtml]
public string Text { get; set; }
}
[HttpPost, ValidateAntiForgeryToken]
public ActionResult AddComment(CommentModel model) ...