现在的位置: 首页 > 综合 > 正文

链接中使用JS脚本调用UrlEncode的问题

2013年05月10日 ⁄ 综合 ⁄ 共 696字 ⁄ 字号 评论关闭
   
今天在代码中写了如下一段:

<script
language="javascript" type="text/javascript">

<!--   
   
function Play(url)

   
{

       
//alert(url);

       
var rtn = showModalDialog("PlayMovies.aspx?url=" + url, window,
"dialogWidth:640px; dialogHeight:480px; status:0;
help:0;scroll:0;");

   
}

//-->
</script>
<a
href='javascript:Play("<%#Server.UrlEncode(Eval("FileName").ToString())%>");'>在线观看</a>

   
代码非常简单,可实际运行的时候(文件名是中文或者非ASCII字符时),总是不能正常运行。调试,查看源文件,经对比发现转义出来也是正确的,但在脚本中,alert出来却不正确。将代码修改为如下后正确:

    <a
onclick='javascript:Play("<%#Server.UrlEncode(Eval("FileName").ToString())%>");'
href="#">在线观看</a>

   
   
其实,并没有改变什么,写代码时也没想太多。我想是因为浏览器本身在处理href中的东西时已经做了转换(浏览器已经使用Utf-8发送URL请求了。奇怪的是为什么转换不正确,或者是javascript的编码与浏览器不一致)。

   
尽管问题很简单,但还是记录一下。留作备查。

抱歉!评论已关闭.