无法使用查询字符串将值从第1页传递到第3页

时间:2014-04-28 01:04:48

标签: asp.net query-string response.redirect

我有一个用户注册aspx页面(第1页),它将用户信息(用户名,电子邮件地址,全名等)保存在具有待处理状态的数据库表中,并将用户重定向到另一个PaypalPayment.aspx页面(第2页) paypal按钮支付用户注册费。 当用户通过paypal支付我获得用户电子邮件地址和用户全名paypal帐户并将其重定向到PaypalRegistrationSuccessful.aspx(第3页)与电子邮件地址和用户paypal帐户的全名。 因为我有来自paypal帐户的用户电子邮件地址和用户全名,所以我想将数据库用户注册表从挂起更新为已批准的用户状态,因为用户已通过paypal付款。 我试图将值从第1页传递到第3页,以便将数据库表和用户状态从挂起更新为已批准但我的第3页未从第1页获取值。 这是我的代码和查询字符串等

在我的注册aspx页面(第1页):

protected void btnSaveRegistration_Click(object sender, EventArgs e)
        {
oApicultureManager.CourseRegistrationPaypal(oCourseRegistrationPaypal);

                Response.Redirect("PDT/PaypalPayment.aspx");
Response.Redirect("PDT/PaypalRegistrationSuccessful.aspx?UserName=" + this.txtUserName.Text + "&UserEmail=" + this.txtEmail.Text);
}

在我的PaypalPayment.aspx页面(第2页)HTML:

<form action="<%= ConfigurationManager.AppSettings["PayPalSubmitUrl"] %>" method="post">
    <input type="hidden" name="cmd" value="_xclick" />
    <input type="hidden" name="business" value="<%= ConfigurationManager.AppSettings["PayPalUsername"] %>" />
    <input type="hidden" name="item_name" value="course test fee" />
    <input type="hidden" name="amount" value="172.46" />
    <input type="hidden" name="return" value="http://localhost:59651/PDT/PaypalRegistrationSuccessful.aspx" />
    <input type="hidden" name="custom" value="Registration started: <%= DateTime.Now.ToString() %>" />
    <input type="image" src="https://www.sandbox.paypal.com/fr_CA/i/btn/btn_paynowCC_LG.gif" border="0" name="submit" alt="PayPal - la solution de paiement en ligne la plus simple et la plus sécurisée !" />
<img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"/>
    </form>

on my PaypalRegistrationSuccessful.aspx (3rd page) :

if (!Page.IsPostBack)
            {
  username = Request.QueryString["UserName"];
                useremail = Request.QueryString["UserEmail"];

//other code etc

}

任何人都能告诉我为什么我在第3页上获得空值吗? 或其他好方法吗?

1 个答案:

答案 0 :(得分:0)

http://msdn.microsoft.com/en-us/library/vstudio/ms178581(v=vs.100).aspx

您可以尝试将信息保存在会话变量中,例如

Session["UserName"] = userName;
Session["Email"] = email;

然后这会在整个会话期间保存这些内容。在最后一页,您可以使用

抓取它们
var userName = Session["UserName"].ToString();
var email = Session["Email"].ToString();