码迷,mamicode.com
首页 > Windows程序 > 详细

c# razor @ html转义

时间:2015-07-13 13:46:32      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:

今天发现一个很神奇的现象

在cshtml页面中,使用@Request.QueryString,在<script>标签内和在<html>文本标签内所显示的内容不一样

如访问http://localhost:60086/FakeLogin/?a=52&b=dfas

<script>"@Request.QueryString"</script>

页面显示的结果是

"a=52&amp;b=dfas" 

即对&进行了html转义,这就导致b的值在后台querystring中取不到。

然而,如果不在script标签内,则显示的内容就是querystring的内容,即

a=52&b=dfas

之后我以为是razor引擎自动把script标签内的后台内容转义,但是我发现对于其他的需要转义的字符如< " 等,都只是进行了简单的urlencode,

比如,访问http://localhost:60086/FakeLogin/?a=52&b=dfas<>

<script>标签内显示的结果是

a=52&amp;b=dfas%3c%3e

不在<script>标签内的结果

a=52&b=dfas%3c%3e

这个我暂时还不知道是什么原因,现在把这个问题记录下来,如果有朋友知道也请不吝赐教

 

c# razor @ html转义

标签:

原文地址:http://www.cnblogs.com/luowenxing/p/4642487.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!