2011-06-21 9 views
1

getCookieの更新された値を2番目、3番目、4番目などに取得するのが難しいです。私のtxtPriceまたはddTaxRateの値を変更します。私は計算にヒットするのは初めてですが、txtPriceまたはddTaxRateの値を変更すると、getCookieの更新値を取得するために計算ボタンを2回押す必要があります。C#とASP.netでクッキーを読む。クッキーの値が遅れます

public partial class _Default : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!IsPostBack) 
     { 
      //First time the page loads 
     } 
     else 
     { 
      HttpCookie myCookie = new HttpCookie("data"); 
      myCookie.Expires = DateTime.Now.AddHours(12); 

      //Grab data 
      myCookie.Values.Add("price", txtPrice.Text); 
      myCookie.Values.Add("tax", ddTaxRate.SelectedItem.Value.ToString()); 
      Response.Cookies.Add(myCookie); 

      calculate(); 
     } 
    } 

    protected void cmdCalculate_Click(object sender, EventArgs e) 
    { 
    } 

    protected void calculate() 
    { 
     if (Request.Cookies["data"] != null) 
     { 
      HttpCookie getCookie = Request.Cookies["data"]; 

      double price = Convert.ToDouble(getCookie.Values["price"]); 
      double taxRate = (Convert.ToDouble(getCookie.Values["tax"])); 
      double rate = taxRate/100; 
      double total = (price + (price * rate)); 

      txtNetPrice.Text = Convert.ToString(total); 
     } 
    } 
} 

私は、デバッグによって価値のあるgetCookieの遅れを見てきました。誰かがgetCookieの最新の価値を得る方法を知っているのだろうかと疑問に思いましたか?

答えて

4

Request.Cookiesには、リクエストで送信されたCookieが含まれています。

レスポンスにクッキーを追加すると、Request.Cookiesに表示されません。

+0

ありがとう、私はコードをHttpCookieに変更しましたgetCookie = Response.Cookies ["data"]; – ReiRei

関連する問題