using System;
|
using System.Collections.Generic;
|
using System.Text;
|
|
namespace Alipay.EasySDK.Kernel.Util
|
{
|
/// <summary>
|
/// 生成页面信息辅助类
|
/// </summary>
|
public static class PageUtil
|
{
|
/// <summary>
|
/// 生成表单
|
/// </summary>
|
/// <param name="actionUrl">表单提交链接</param>
|
/// <param name="parameters">表单参数</param>
|
/// <returns>表单字符串</returns>
|
public static string BuildForm(string actionUrl, IDictionary<string, string> parameters)
|
{
|
return "<form name=\"punchout_form\" method=\"post\" action=\""
|
+ actionUrl
|
+ "\">\n"
|
+ BuildHiddenFields(parameters)
|
+ "<input type=\"submit\" value=\"立即支付\" style=\"display:none\" >\n"
|
+ "</form>\n"
|
+ "<script>document.forms[0].submit();</script>";
|
}
|
|
private static string BuildHiddenFields(IDictionary<string, string> parameters)
|
{
|
if (parameters == null || parameters.Count == 0)
|
{
|
return "";
|
}
|
StringBuilder stringBuilder = new StringBuilder();
|
foreach (var pair in parameters)
|
{
|
if (pair.Key == null || pair.Value == null)
|
{
|
continue;
|
}
|
stringBuilder.Append(BuildHiddenField(pair.Key, pair.Value));
|
}
|
return stringBuilder.ToString();
|
}
|
|
private static string BuildHiddenField(string key, string value)
|
{
|
StringBuilder builder = new StringBuilder(64);
|
builder.Append("<input type=\"hidden\" name=\"");
|
builder.Append(key);
|
builder.Append("\" value=\"");
|
//转义双引号
|
String a = value.Replace("\"", """);
|
builder.Append(a).Append("\">\n");
|
return builder.ToString();
|
}
|
}
|
}
|