ASP.NET MVC3中文参数乱码问题

前端传递参数代码如下:
<a href="/workload/Count_er?IG_Name=<%= R["IG_Name"]%>">1</a>
控制器接受:
string IG_Name = Request["IG_Name"];
但是在接受的时候会是乱码,现在网上的常用的3种方法都没用
< globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" />

可以用但是会影响到其他页面,加密再解密的方法也用过还是没用,求大神帮帮忙
最好能有源码,说清楚点,感激不尽,谢谢
整个A标签: <a href="/workload/Count_er?IG_Name=<%= Server.UrlEncode(R["IG_Name"].ToString().Trim())%>" target="navTab" mask="true" rel="Count_si" style="color:Blue"> <%= R["IG_Name"].ToString().Trim()%></a>

编码后 常理来说 是不会乱码的

注意   你R["IG_Name"] 取值 之后 是否 已乱码 


    

public class HomeController : Controller
    {
        //
        // GET: /Home/

        public ActionResult Index()
        {
            return View();
        }

public ActionResult IndexTwo()
        {
            ViewData["IG_Name"] = Request["IG_Name"];
            return View();
        }

    }

Index.aspx
<body>
    <div>
        <a href="IndexTwo?IG_Name=<%=Server.UrlEncode("中文") %>">Click Me</a>
    </div>
</body>

IndexTwo.aspx
 <body>
    <div>
        <%=ViewData["IG_Name"] %>
    </div>
</body>追问

这个方法没用,取值之后不是乱码,编译也能编译成功,就是控制器接受不到编译后的值

追答

控制器接收不到编译后的值 不明白你什么情况

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-17
后台:

Server.HtmlEncode(msg)

前台:
Server.HtmlDecode(msg)
第2个回答  2013-10-22

    编码都换UTF-8试试

    换个传参方式,用表单+POST传

第3个回答  2013-10-21
有没有试过对<%= R["IG_Name"]%>进行URL编码?追问

试过,没用,我先进行了编码然后解码的

追答

R["IG_Name"]原始值,URL编码后的值,A标签的href属性,后端接收到的原始值,后端URL解码后的值。

都发出来看看

追问

原始值为“微山县使用权”
编码后的值为:IG_Name=%e5%b7%8d%e5%b1%b1%e5%8e%bf%e4%bd%bf%e7%94%a8%e6%9d%83
接受的值为:?��??����????????��???

追答

你使用的URL编码是UTF-8,解码也用的是UTF-8吗?
奇怪,UTF-8解码后是“巍山县使用权”

追问

是UTF-8啊,但是我的就是解码的时候是乱码

追答

你用的编码函数和解码函数分别是哪个?

追问

Server.UrlEncode
Server.UrlDecode,应该不是这个的问题,问题是,编码是成功的,带式传到另一个页面时,就有问题了

追答

奇怪,要不你换成其它编码函数试试。
比如:HttpUtility.UrlEncode

相似回答