标签:
今天发现一个很神奇的现象
在cshtml页面中,使用@Request.QueryString,在<script>标签内和在<html>文本标签内所显示的内容不一样
如访问http://localhost:60086/FakeLogin/?a=52&b=dfas
<script>"@Request.QueryString"</script>
页面显示的结果是
"a=52&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&b=dfas%3c%3e
不在<script>标签内的结果
a=52&b=dfas%3c%3e
这个我暂时还不知道是什么原因,现在把这个问题记录下来,如果有朋友知道也请不吝赐教
标签:
原文地址:http://www.cnblogs.com/luowenxing/p/4642487.html