
我用gridview中HyperLinkField控件传递一个参数代码如下面,是将作者传递到另一页面,作者是有中文和逗号 20
成,当跳转到另一页时,Request.QueryString["authorNames"]得到的是中文和乱码,DataNavigateUrlFormatString="T...
成,当跳转到另一页时,Request.QueryString["authorNames"] 得到的是中文和乱码,DataNavigateUrlFormatString="ThesisDetails.aspx?authorNames={0},百思不得其解,找编码解码的地方又找不到,郁闷啊,我是改的别人的bug,是一个b/s结构的系统,求助于大师!
展开
展开全部
你的Request.QueryString["authorNames"] 很有可能是数组;
如果a.aspx?tt=1&tt=2
那么你在后台Request.QueryString["tt"] 会获得一个数组 {’1‘,'2'}
你看一下是不是这个原因,如果是,只要把Request.QueryString["tt"]转换成数组就可以了
如果a.aspx?tt=1&tt=2
那么你在后台Request.QueryString["tt"] 会获得一个数组 {’1‘,'2'}
你看一下是不是这个原因,如果是,只要把Request.QueryString["tt"]转换成数组就可以了
追问
NavigateUrlFormatString="ThesisDetails.aspx?authorNames={0}"
DataTextField="作者" DataTextFormatString="{0}",这个地方好像必须这样写,在另一页面上是这样写的,Request.QueryString["authorNames"] 该获得是“张三,李四,王五”这样字符串,而出现“张三,李·王¥”等这样的乱码,再往下authorNames.Split(',')就出错了,a.aspx?tt=1&tt=2,我好像不能这样写啊,谢谢!
展开全部
在传值之前编码
string depStr = Server.UrlEncode(dephy.Text);
在新页面解码
string depname = Server.UrlDecode(Request.Params["depcode"]);
string depStr = Server.UrlEncode(dephy.Text);
在新页面解码
string depname = Server.UrlDecode(Request.Params["depcode"]);
追问
你好,像你说的那样在传值前编码DataNavigateUrlFormatString="ThesisDetails.aspx?authorNames={0}"
DataTextField="作者" DataTextFormatString="{0}",我在Gridview中是这样的写的,却不知该如何编码的语句 string depStr = Server.UrlEncode(dephy.Text); 该写在何处,望不吝赐教!感谢!
追答
不好意思,我好几天都没时间上网,所以来不及看你的追问。
好像不能在属性里面编码。给你看下我之前做的项目:
将列转换为TemplateField,转换后“作者”列代码为:
作者
然后在gridview的RowDataBound事件中编写类似如下代码:
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string authorname = Server.UrlEncode(this.dephyTxt.Text);
HyperLink hy = (HyperLink)e.Item.FindControl("HyperLink1");
hy.NavigateUrl = "ThesisDetails.aspx?authorNames=" + authorname ;
}
最后在新页面解码:
string authorname = Server.UrlDecode(Request.Params["authorNames"]);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>
requestEncoding="gb2312"
responseEncoding="gb2312"
/>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
d替换掉hyperlinkfield
这样可以用后台的rowcommand事件
这样可以用后台的rowcommand事件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
d替换掉hyperlinkfield
这样可以用后台的rowcommand事件
这样可以用后台的rowcommand事件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询