记一次编码相关问题
最近在做项目中碰到一个编码问题,如下:
视图中包含一个部分视图,且视图与部分视图分别有相应的后台逻辑。
视图通过Jquery的load()对部分视图进行加载,加载部分视图时需要传参,参数由视图产生,代码如下:
这样的话就碰到一个问题,如果 ViewBag.queryword 中包含单引号时 JS 会报错而执行不了。
解决办法如下:
在视图 Action 中使用 HttpUtility.UrlEncode() 对 queryword 编码,然后再在部分视图 Action 接到传参时对参数进行 HttpUtility.UrlDecode() 解码。问题搞定。
HttpUtility.UrlEncode() 的作用是对 URL 字符串进行编码,以便实现从 Web 服务器到客户端的可靠的 HTTP 传输,避免出现文档错误。
详细信息参考:js和C#中的字符串编码解码