日期:2014-05-17  浏览次数:20487 次

ASP.NET MVC3 Html.TextBox给onclick指定带参数的方法时的编码问题
新建一个MVC3空白项目,添加一个Controller,为Index方法添加一个视图,在视图中只写下一行代码:
@Html.TextBox("txtEmail", "", new { onclick = "alert('abc')" })
运行后,查看网页源代码,生成的HTML是这样的:
<input id="txtEmail" name="txtEmail" onclick="alert(&#39;abc&#39;)" type="text" value="" />
把'编码成了&#39;  这导致onclick方法直接失效。
把项目拷至别的电脑上测试生成的都是正确的结果,但在我电脑上生成的是上面的结果,这是不是MVC3的一个BUG? 另外,我新建了一个MVC4项目,也有这个问题。
如果不是bug,那又是什么原因造成的呢?操作系统是正版windows 8 专业版,环境是Visual Studio Ultimate 2012,版本11.0.60610.01 Update 3
 
项目地址:http://pan.baidu.com/share/link?shareid=2762057868&uk=2047611729&qq-pf-to=pcqq.c2c
ASP.NET?MVC MVC TextBox

------解决方案--------------------
用@Html.Raw包裹下不需要转义的文本。