/// <summary> /// 生成页面类请求所需URL或Form表单 /// </summary> /// <param name="method">GET或POST,决定是生成URL还是Form表单</param> /// <param name="systemParams">系统参数集合</param> /// <param name="bizParams">业务参数集合</param> /// <param name="textParams">其他额外文本参数集合</param> /// <param name="sign">所有参数的签名值</param> /// <returns>生成的URL字符串或表单</returns> protected string _generatePage(string method, Dictionary <string, string> systemParams, Dictionary <string, object> bizParams, Dictionary <string, string> textParams, string sign) { if (AlipayConstants.GET.Equals(method)) { //采集并排序所有参数 IDictionary <string, string> sortedMap = GetSortedMap(systemParams, bizParams, textParams); sortedMap.Add(AlipayConstants.SIGN_FIELD, sign); //将所有参数置于URL中 return(GetGatewayServerUrl() + "?" + BuildQueryString(sortedMap)); } else if (AlipayConstants.POST.Equals(method)) { //将系统参数、额外文本参数排序后置于URL中 IDictionary <string, string> urlParams = GetSortedMap(systemParams, null, textParams); urlParams.Add(AlipayConstants.SIGN_FIELD, sign); string actionUrl = GetGatewayServerUrl() + "?" + BuildQueryString(urlParams); //将业务参数排序后置于form表单中 IDictionary <string, string> formParams = new SortedDictionary <string, string>() { { AlipayConstants.BIZ_CONTENT_FIELD, JsonUtil.ToJsonString(bizParams) } }; return(PageUtil.BuildForm(actionUrl, formParams)); } else { throw new Exception("_generatePage中method只支持传入GET或POST"); } }