Чтение Cookies в C # и ASP.net;значения cookie отстают - PullRequest
1 голос
/ 21 июня 2011

Я испытываю трудности с получением обновленного значения 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?

1 Ответ

4 голосов
/ 21 июня 2011

Request.Cookies содержит файлы cookie, которые были отправлены в запросе.

Когда вы добавляете файл cookie в ответ, он не отображается в Request.Cookies.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...