url编码

17 篇文章 1 订阅
6 篇文章 1 订阅

    当我们在post或者get 传送中文字符的时候,得到的中文字符是乱码的,这是我们应该的传送的参数进行编码,例如encodeURI(content), content 是传的的数据,

下面以一个具体的get传送中文字符例子来做说明:

   原理是:在一个textarea的值传递给一个页面,然后在iframe 显示,

主要代码:

编码:

 function encodeURL() {
            var content = document.getElementById("txt_content").innerHTML;
            var iframe = document.getElementById("frame_demo");
            iframe.src = "url_content.aspx?content="+encodeURI(content);
        }


解码:

string url_content=string.Empty;
        if (Request.QueryString["content"] != null)
            url_content =Server.UrlDecode(Request.QueryString["content"].ToString());
        this.lb_conten.InnerHtml = url_content;


  效果图:



源码:

encodeURL.aspx页面:


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="encodeURL.aspx.cs" Inherits="URL编码_encodeURL" %>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script type="text/javascript" language="ecmascript">
        function encodeURL() {
            var content = document.getElementById("txt_content").innerHTML;
            var iframe = document.getElementById("frame_demo");
            iframe.src = "url_content.aspx?content="+encodeURI(content);
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <p>把值传入iframe标签去</p>
    <div  style=" float:left">
    <fieldset style=" width:410px; height:220px">
      <legend>请填写传入内容</legend>
      <textarea rows="10" cols="60"  style=" width:400px; height:200px" id="txt_content">
      </textarea>
    </fieldset>
    </div>
    <div   style=" float:left; text-align:center; vertical-align:middle;  width:60px; height:220px">
       <br />
       <br />
       <br />
       <br />
       <br />
       <br />


       <input type="button" id="Button1" value="确定" οnclick="encodeURL();" />
    </div>
    <div  style=" float:left">
    <fieldset  style=" width:600px; height:220px">
     <legend>结果</legend>
     <iframe frameborder="1" scrolling="no" height="200"  width="100%" src="" name="frame_demo"
          id="frame_demo"  ></iframe>
    </fieldset>
    
    </div>
    </div>
    </form>
</body>
</html>



url_content.aspx源码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="url_content.aspx.cs" Inherits="URL编码_url_content" %>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div >
       <label id="lb_conten" runat="server"></label>
    </div>
    </form>
</body>
</html>



url_content.aspx.cs源码:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;


public partial class URL编码_url_content : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string url_content=string.Empty;
        if (Request.QueryString["content"] != null)
            url_content = Server.UrlDecode(Request.QueryString["content"].ToString());
        this.lb_conten.InnerHtml = url_content;
    }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值