页面之间如何传递特殊字符

    最近在做页面传值时,遇到了一个问题,问题还原:

         第一个页面使用数据源控件DataBindControl绑定数据源,然后使用HyperLinkField控件绑定后台数据,并且传递参数到第二个页面。数据绑定代码如下:


<span style="font-size:18px;"><SOA:DeluxeObjectDataSourcerunat="server" EnablePaging="True"ID="DataSourceServicePack"
               TypeName="SinoOcean.Seagull2.TransactionData.PlanManage.ReportHelper.GenerrateKeyPointAchievingRateOfServicepack()"/>
页面传值代码如下:
<asp:HyperLinkFieldDataNavigateUrlFields="PlanCode,PlanVersionStartTime,beginTime,endTime"DataNavigateUrlFormatString="DelayKeyPointTaskOfServicePack.aspx?PlanCode={0}&PlanVersionStartTime={1}&beginTime={2}&endTime={3}"
                       Target="_blank" Text="查看" HeaderText="查看"/></span>

    问题出现了,运行代码以后,发现页面上的超链接按钮处于不可单击状态,分析发现,删除时间参数后,此按钮可用,那么为什么会是这样的状况呢?百度之,原来是时间格式问题,原来绑定数据源时,数据源的时间格式为“yyyy-MM-dd HH:mm:ss.fff”,度娘说,地址栏不能识别特殊符号,因此,这个链接不可单击。

         既然是格式不对难就改呗,换一个能传过去的不就可以了吗?马上动手,尝试了一下,改为"yyyy/MM/dd HH/mm/ss.fff",果然可以传过去了,传值问题解决了,可是新问题又出现了。

          数据传递成功后,还是不能正常查询,发现改完格式后的时间不能进行正常数据查询了,原来还是格式不对头,那怎么办呢?在新的页面改回去呗。

        继续百度之,发现一种解决方案,即字符串分割转换法,首先,将字符串分割成多个部分,然后分别转换,即可。

        我的字符串分为两部分,第一部分需要将日期中间的特殊字符转换为横向小短线,第二部分需要将特殊字符转换为冒号,转换方法不一样,那就分开转换。

        在页面传值时,重新设计字符串传递格式,改为"yyyy/MM/dd THH/mm/ss.fff"格式,然后根据T为分隔符,分为两个字符串分别转换,代码如下。


<span style="font-size:18px;">stringversionStartTime =WebUtility.GetRequestQueryString("PlanVersionStartTime","");
                if (versionStartTime !="")
                {
                    string ss =versionStartTime.Split('T')[0].ToString();
                    string ee =versionStartTime.Split('T')[1].ToString();
                    versionStartTime =ss.Replace('/', '-') + " " + ee.Replace('/', ':');
                }</span>


数据转换成功,可以正常查询了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值