📄 orderinfo.aspx.cs
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
using System.Web.Security;
namespace SCard
{
/// <summary>
/// orderinfo 的摘要说明。
/// </summary>
public class orderinfo : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label lblPName;
protected System.Web.UI.WebControls.Label lblOrderID;
protected System.Web.UI.WebControls.Label lblPPrice;
protected System.Web.UI.WebControls.Label lblPNum;
protected System.Web.UI.WebControls.Label lblTotalPrice;
protected System.Web.UI.WebControls.Label lblTName;
protected System.Web.UI.WebControls.Label lblEmail;
protected System.Web.UI.WebControls.Label lblPhone;
protected System.Web.UI.HtmlControls.HtmlInputHidden merchant_id;
protected System.Web.UI.HtmlControls.HtmlInputHidden orderid;
protected System.Web.UI.HtmlControls.HtmlInputHidden amount;
protected System.Web.UI.HtmlControls.HtmlInputHidden commodity_info;
protected System.Web.UI.HtmlControls.HtmlInputHidden merchant_url;
protected System.Web.UI.HtmlControls.HtmlInputHidden merchant_param;
protected System.Web.UI.HtmlControls.HtmlInputHidden pname;
protected System.Web.UI.HtmlControls.HtmlInputHidden currency;
protected System.Web.UI.HtmlControls.HtmlInputHidden isSupportDES;
protected System.Web.UI.HtmlControls.HtmlInputHidden mac;
protected System.Web.UI.WebControls.Label lblBack;
protected System.Web.UI.WebControls.Label lblPFPrice;
protected System.Web.UI.WebControls.Label lblPNPrice;
protected System.Web.UI.WebControls.Label lblIsStock;
protected System.Web.UI.HtmlControls.HtmlImage myImg;
protected System.Web.UI.WebControls.Label lblPName1;
protected System.Web.UI.HtmlControls.HtmlForm Form1;
private void Page_Load(object sender, System.EventArgs e)
{
Response.Buffer=true;
Response.ExpiresAbsolute=DateTime.Now.AddSeconds(-1);
Response.Expires=0;
Response.CacheControl="no-cache";
if( !IsPostBack )
{
if( Session["myOrder"] == null )
{
Response.Redirect("index.aspx");
return;
}
//返回操作
if( Request.QueryString["key"] ==null || Request.QueryString["key"].ToString() == String.Empty )
{
Response.Redirect("index.aspx");
return;
}
string strBack = Request.QueryString["key"].ToString();
strBack = Server.UrlDecode( strBack );
lblBack.Text = "<a href='" + strBack + "'>返回</a>";
Order myOrder = (Order)Session["myOrder"];
string strOID = myOrder.OID;
string strPID = myOrder.PID;
string strPName = myOrder.PName;
string strPNum = myOrder.PNum;
string strPPrice = myOrder.PPrice;
string strTotalPrice = myOrder.TotalPrice;
string strTName = myOrder.TName;
string strEmail = myOrder.Email;
string strPhone = myOrder.Phone;
string strPCPrice = myOrder.PCPrice;//成本
if( strOID == String.Empty )//是否有订单编号
{
strOID = getNewOrderID();
DBConn myDB = new DBConn();
string sql = "insert into [Order](OID,PID,PName,PNum,PPrice,TotalPrice,Pubdate,TName,Email,Phone,PCPrice) values('" +
strOID + "'," + strPID + ",'" + strPName + "'," + strPNum + "," + strPPrice + "," + strTotalPrice + ",'" +
DateTime.Now + "','" +strTName + "','" + strEmail + "','" + strPhone + "'," + strPCPrice + ")";
myDB.ExecuteNonQuery( sql );
myDB.Close();
myOrder.OID = strOID;
Session["myOrder"] = myOrder;
}
lblOrderID.Text = strOID;
lblPName.Text = strPName;
lblPNum.Text = strPNum;
lblPPrice.Text = strPPrice;
lblTotalPrice.Text = strTotalPrice;
lblTName.Text = strTName;
lblEmail.Text = strEmail;
lblPhone.Text = strPhone;
//-- 给网上银行网关传参赋值
String strmerchant_id = getMerchantID();//获取 商户编号
String strorderid = strOID; //订单编号
String stramount = strTotalPrice; //支付金额
String strcurrency = "1"; //货币类型 。1为RMB
String strcommodity_info = strPName + " 所购数量: " + strPNum; //商品信息
String strpname = strTName; //收货人姓名
String strmerchant_url = getMerchantZURL();//获取 商家接受支付结果的URL
String strmerchant_param = ""; //商家需要回传的额外参数,如果是多个参数,以|分隔
String strkey = getMerchantKey();//获取 私钥值
//注意正确的参数串拼凑顺序
string src = "merchant_id=" + strmerchant_id + "&orderid=" + strorderid + "&amount=";
src += stramount + "&merchant_url=" + strmerchant_url;
src += "&merchant_key=" + strkey;
//md5加密
String strmac = FormsAuthentication.HashPasswordForStoringInConfigFile( src ,"MD5");
merchant_id.Value = strmerchant_id;
orderid.Value = strorderid;
amount.Value = stramount;
commodity_info.Value = Server.HtmlEncode( strcommodity_info );
merchant_url.Value = strmerchant_url;
merchant_param.Value = strmerchant_param;
pname.Value = Server.HtmlEncode( strpname );
currency.Value = strcurrency;
isSupportDES.Value = "2";
mac.Value = strmac;
}
}
private string getMerchantZURL()//获取 商家接受支付结果的URL
{
string s = "";
DBConn myDB = new DBConn();
string mySql="select [text] from [wangguan] where [id]='2'";
OleDbDataReader mydr = myDB.getDataReader( mySql );
if( mydr.Read() )
{
s = mydr["text"].ToString();
}
mydr.Close();
myDB.Close();
return s;
}
private string getMerchantKey()//获取 私钥值
{
string s = "";
DBConn myDB = new DBConn();
string mySql="select [text] from [wangguan] where [id]='1'";
OleDbDataReader mydr = myDB.getDataReader( mySql );
if( mydr.Read() )
{
s = mydr["text"].ToString();
}
mydr.Close();
myDB.Close();
//加密对象
DCard.Encode myEncode = new DCard.Encode();
try
{
s = myEncode.DecryptString( s );
}
catch
{
//如果不是已加密字符串 就会出错
}
return s;
}
private string getMerchantID()//获取 商户编号
{
string s = "";
DBConn myDB = new DBConn();
string mySql="select [text] from [wangguan] where [id]='0'";
OleDbDataReader mydr = myDB.getDataReader( mySql );
if( mydr.Read() )
{
s = mydr["text"].ToString();
}
mydr.Close();
myDB.Close();
return s;
}
private string getNewOrderID()//获取新的流水帐号
{
string strOrderID = "";
DateTime myTime=System.DateTime.Now;
strOrderID = myTime.Year.ToString();
strOrderID += myTime.Month.ToString("00");
strOrderID += myTime.Day.ToString("00");
strOrderID += myTime.Hour.ToString("00");
strOrderID += myTime.Minute.ToString("00");
strOrderID += myTime.Second.ToString("00");
strOrderID += myTime.Millisecond.ToString("000");
DBConn myDB = new DBConn();
string sql = "select OID from [Order] order by OID desc";
OleDbDataReader dr = myDB.getDataReader( sql );
if( dr.Read() )
{
string strTemp = dr["OID"].ToString();
int iTemp = Int32.Parse( strTemp.Substring( strTemp.Length - 2 ,2) ) + 1;
strOrderID += ( iTemp % 100 ).ToString("00");
}
else
{
strOrderID += "00";
}
dr.Close();
myDB.Close();
return strOrderID;
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void btnBack_Click(object sender, System.EventArgs e)
{
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -