我很难在第二,第三,第四等位置获取getCookie的更新值。在更改txtPrice或ddTaxRate的值时,我遇到了困难。在我第一次执行计算时,它可以正常工作,但是如果我更改txtPrice或ddTaxRate的值,则需要两次单击计算按钮才能获取getCookie的更新值。

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的最新值?

最佳答案

Request.Cookies包含在请求中发送的cookie。

当您向响应中添加Cookie时,它不会显示在Request.Cookies中。

07-26 09:32