| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1239 人关注过本帖
标题:方法给参数赋值的问题
只看楼主 加入收藏
jkt0915
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-1-14
结帖率:100%
收藏
已结贴  问题点数:0 回复次数:2 
方法给参数赋值的问题
reqHandler.setParameter("total_fee","100");
代码本来是这样写的,后来我给改成为:
string totalfee ="100";
reqHandler.setParameter("total_fee", totalfee);

这样也没有问题,可是改成:
string totalfee =TextBox1.Text;
reqHandler.setParameter("total_fee", totalfee);
就提示交易项字段填有误

TextBox1.Text="100";
string totalfee =TextBox1.Text;
reqHandler.setParameter("total_fee", totalfee);
这样也没有问题,方法里的参数是string类型,我就是想输入多少金额就赋值多少,.ToString(),.Trim(),都试过了,还是不好用


搜索更多相关主题的帖子: 没有问题 
2011-01-14 10:11
筱晓绾
Rank: 10Rank: 10Rank: 10
来 自:湖南
等 级:贵宾
威 望:12
帖 子:512
专家分:1736
注 册:2010-9-1
收藏
得分:20 
string totalfee =TextBox1.Text.ToString();
reqHandler.setParameter("total_fee", totalfee);
这样也有问题???
2011-01-14 11:01
jkt0915
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-1-14
收藏
得分:0 
确实我也不知道问题出在哪,我把调用的代码贴出来,请高手帮忙看看
PayRequestHandler.cs
程序代码:
/// <summary>
    /// PayRequestHandler 的摘要说明。
    /// </summary>
    /**
    * 即时到帐请求类
    * ============================================================================
    * api说明:
    * init(),初始化函数,默认给一些参数赋值,如cmdno,date等。
    * getGateURL()/setGateURL(),获取/设置入口地址,不包含参数值
    * getKey()/setKey(),获取/设置密钥
    * getParameter()/setParameter(),获取/设置参数值
    * getAllParameters(),获取所有参数
    * getRequestURL(),获取带参数的请求URL
    * doSend(),重定向到财付通支付
    * getDebugInfo(),获取debug信息
    *
    * ============================================================================
    *
    */
    public class PayRequestHandler:RequestHandler
    {
        public PayRequestHandler(HttpContext httpContext) : base(httpContext)
        {
           
            this.setGateUrl("http://service.");
        }


        /**
            * @Override
            * 初始化函数,默认给一些参数赋值,如cmdno,date等。
        */
        public override void init()
        {

            //任务代码
            this.setParameter("cmdno", "1");
       
            //日期
            this.setParameter("date",DateTime.Now.ToString("yyyyMMdd"));
       
            //商户号
            this.setParameter("bargainor_id", "");
       
            //财付通交易单号
            this.setParameter("transaction_id", "");
       
            //商家订单号
            this.setParameter("sp_billno", "");
       
            //商品价格,以分为单位
            this.setParameter("total_fee", "");
       
            //货币类型
            this.setParameter("fee_type",  "1");
       
            //返回url
            this.setParameter("return_url",  "");
       
            //自定义参数
            this.setParameter("attach",  "");
       
            //用户ip
            this.setParameter("spbill_create_ip",  "");
       
            //商品名称
            this.setParameter("desc",  "");
       
            //银行编码
            this.setParameter("bank_type",  "0");
       
            //字符集编码
            this.setParameter("cs","gb2312");
       
            //摘要
            this.setParameter("sign", "");
        }



        /**
     * @Override
     * 创建签名
     */
        protected override void createSign()
        {
       
            //获取参数
            string cmdno = getParameter("cmdno");
            string date = getParameter("date");
            string bargainor_id = getParameter("bargainor_id");
            string transaction_id = getParameter("transaction_id");
            string sp_billno = getParameter("sp_billno");
            string total_fee = getParameter("total_fee");
            string fee_type = getParameter("fee_type");
            string return_url = getParameter("return_url");
            string attach = getParameter("attach");
            string spbill_create_ip = getParameter("spbill_create_ip");
            string key = getParameter("key");
       
            //组织签名
            StringBuilder sb = new StringBuilder();
            sb.Append("cmdno=" + cmdno + "&");
            sb.Append("date=" + date + "&");
            sb.Append("bargainor_id=" + bargainor_id + "&");
            sb.Append("transaction_id=" + transaction_id + "&");
            sb.Append("sp_billno=" + sp_billno + "&");
            sb.Append("total_fee=" + total_fee + "&");
            sb.Append("fee_type=" + fee_type + "&");
            sb.Append("return_url=" + return_url + "&");
            sb.Append("attach=" + attach + "&");
            if( !"".Equals(spbill_create_ip) )
            {
                sb.Append("spbill_create_ip=" + spbill_create_ip + "&");
            }
            sb.Append("key=" + getKey());
       
            //算出摘要
            string sign = MD5Util.GetMD5(sb.ToString(),getCharset());
               
            setParameter("sign", sign);
   
            //debug信息
            setDebugInfo(sb.ToString() + " => sign:"  + sign);
       
        }

    }
index.aspx
程序代码:
            //生成订单10位序列号,此处用时间和随机数生成,商户根据自己调整,保证唯一
            string strReq = "" + DateTime.Now.ToString("HHmmss") + TenpayUtil.BuildRandomStr(4);

            //商户订单号,不超过32位,财付通只做记录,不保证唯一性
            string sp_billno = strReq;

            //汇款金额
            string totalfee =TextBox1.Text;

            //财付通订单号,10位商户号+8位日期+10位序列号,需保证全局唯一
            string transaction_id = bargainor_id + date + strReq;
            string return_url = "http://localhost/tenpayApp/return_url.aspx";

            //创建PayRequestHandler实例
            PayRequestHandler reqHandler = new PayRequestHandler(Context);

            //设置密钥
            reqHandler.setKey(key);

            //初始化
            reqHandler.init();

            //-----------------------------
            //设置支付参数
            //-----------------------------
            reqHandler.setParameter("bargainor_id", bargainor_id);            //商户号
            reqHandler.setParameter("sp_billno", sp_billno);                //商家订单号
            reqHandler.setParameter("transaction_id", transaction_id);        //财付通交易单号
            reqHandler.setParameter("return_url", return_url);                //支付通知url
            reqHandler.setParameter("desc", "订单号:" + transaction_id);    //商品名称
            reqHandler.setParameter("total_fee", totalfee);                        //商品金额,以分为单位

           //获取请求带参数的url
            string requestUrl = reqHandler.getRequestURL();

            string a_link = "<a target=\"_blank\" href=\"" + requestUrl + "\">" + "财付通支付" + "</a>";

            Response.Write(a_link);



 
2011-01-14 20:35
快速回复:方法给参数赋值的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.048159 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved