2016-AspNet-MVC教学-9-Raw-Encode-Decode 比较测试
2016-05-04 16:27
537 查看
创建一个Asp.net MVC4 Basic类型项目.其中Index.cshtml代码如下:
最后测试效果如下:
小结:
Url的编码格式采用的是ASCII码,而不是Unicode,这也就是说你不能在Url中包含任何非ASCII字符,例如中文。否则如果客户端浏览器和服务端浏览器支持的字符集不同的情况下,中文可能会造成问题。Url编码的原则就是使用安全的字符(没有特殊用途或者特殊意义的可打印字符)去表示那些不安全的字符。
Html编码,为了防止用户输入的留言等数据变成了影响界面的格式代码,或者杜绝XSS的发生。 所以我们需要对用户输入的数据进行HTML Encode处理。 将其中的”中括号”, “单引号”,“引号” 之类的特殊字符进行编码。
@{ ViewBag.Title = "Index"; } <i></i> <h2>Raw-Encode-Decode 比较测试</h2> @{ var str = "航天Aerospace<i>888</i>///"; } <hr /> <h2>@Html.Encode(str)</h2> <h2>@Url.Encode(str)</h2> <hr /> <h2>@Html.Raw(Html.Encode(str))</h2> <h2>@Html.Raw(Url.Encode(str))</h2> <hr /> <h2>@Html.Raw(str)</h2> <h2> @Html.Raw(HttpUtility.HtmlDecode("航天Aerospace<i>888</i>///")) </h2> <h2> @Html.Raw(HttpUtility.UrlDecode("%e8%88%aa%e5%a4%a9Aerospace%3ci%3e888%3c%2fi%3e%2f%2f%2f")) </h2>
最后测试效果如下:
小结:
Url的编码格式采用的是ASCII码,而不是Unicode,这也就是说你不能在Url中包含任何非ASCII字符,例如中文。否则如果客户端浏览器和服务端浏览器支持的字符集不同的情况下,中文可能会造成问题。Url编码的原则就是使用安全的字符(没有特殊用途或者特殊意义的可打印字符)去表示那些不安全的字符。
Html编码,为了防止用户输入的留言等数据变成了影响界面的格式代码,或者杜绝XSS的发生。 所以我们需要对用户输入的数据进行HTML Encode处理。 将其中的”中括号”, “单引号”,“引号” 之类的特殊字符进行编码。
相关文章推荐
- 瞬驰(Dash)D1开发手册--Raspberry Pi之速度控制
- ASP.NET母版页使用 按下回车刷新页面 去掉 <form></form>标签
- ASP.NET-Microsoft.Management.Infrastructure错误
- The main reborn ASP.NET MVC4.0: using CheckBoxListHelper and RadioBoxListHelper
- ASP.NET管道技术
- ASP.NET-dropdownlist默认值
- ASP再认识,利用python作为脚本语言
- input type="file" 上传文件,若是flv格式,则截取保存一张图片asp.net
- 用Raspberry Pi作AirPlay服务端
- asp.net 中使用EasyUI Datagrid 加载动态数据分页查询
- 根据PDF模板从数据库中读取数据动态生成PDF文件。或者用ireport+jasperreports这种组合也可以...
- ASP.NET TreeView读取数据库实例
- bin文件夹关于dll引用的注意事项
- ASP.NET 2.0中的数据操作之九:跨页面的主/从报表
- ASP.NET MVC 3和Razor中的@helper
- ASP.NET 2.0中的数据操作之八:使用两个DropDownList过滤的主/从报表
- ASP.NET 2.0中的数据操作之七:使用DropDownList过滤的主/从报表
- ASP.NET 状态管理(视图状态 ViewState)
- ASP.NET 2.0中的数据操作之七:使用DropDownList过滤的主/从报表
- ASP.NET 2.0中的数据操作之八:使用两个DropDownList过滤的主/从报表