如何在Asp.net MVC中使用Html.Encode和Html.Texbox?

时间:2009-10-15 10:13:48

标签: c# html asp.net-mvc

如何在ASP.NET MVC中使用Html.Encode和html helper来防止javascript注入? 例如:

   <%= Html.TextBox("Name") %>

3 个答案:

答案 0 :(得分:2)

框架自动处理所有这些。你必须明确告诉它不要检查危险的输入。

当你这样做时,你不应该解码任何进入数据库的东西,如果你允许基本的html。

我选择不在客户端编码,而不喜欢我的模型来执行该功能。视图应显示数据,而不是我认为的任何其他内容。

所以在你的模型中的视图的路上解码/编码。

答案 1 :(得分:1)

格里格斯的海报是正确的。在ASP.NET MVC 1.0中,Html.Textbox帮助程序为您清理输入。

您可能还想了解下一版ASP.NET中新的HTML编码块语法 - 您可以在此处阅读:

ASP.NET 4.0 HTML BLock encoding syntax

答案 2 :(得分:0)

试试这个:

<%=Html.TextBox( "name", Html.Encode(var_value) , new { @class = 'css-class" } );%>