我们在传递网页参数时是将数据附在网址后面传递,但是遇到一些如「#」、「&」的特殊字符会读不到这些字符之后的参数。所以在需要传递特殊字符的场合,我们只要先将欲传递的内容先以UrlEncode 加以编码,就可以保证所传递过去的值可以顺利被读到,而UrlDecode 方法则是将编码过的内容译码还原。下列范例我们使用两个HtmlAnchor 控件来比较编码传递和未编码的结果,传递的参数内容是「a# @ #b」:
<Html> <A Href="http://127.0.0.1/CR/CH09/EX02.aspx?data1=a# @ #b">未编码的参 数内容</A><br> <A Href="http://127.0.0.1/CR/CH09/EX02.aspx?data1=<%Response.Write(Serve r.UrlEncode ("a# @ #b"))%>"> 编码过的参数内容</A> </Html>
我们先按下「未编码的参数内容」可以发现到传递过去的参数内容只显示a,这和我们当初所设定的结果并不相符。接着我们按下「编码过的参数内容」,结果显示出正确的参数内容。
|