.Expirescookie属性に問題があります。クッキーを読み返すと、01/01/000112:00AMに戻ってきます。
これがコードです。デバッグ目的でのみ、保存のすぐ下にリトリーブを追加しました。保存と取得は、同じファイル内の異なる場所で行われます。Cookieをサイト全体に存在させたいので、意図的にドメインを指定しませんでした。
データは、有効期限だけでなく、うまく表示されます。
注:.NetFramework4を使用してローカルホストで実行されているVisualStudio2012でテストしています。
System.Web.UI.Page oPage = this.Page;
HttpCookie oCookie = new HttpCookie("UserData");
// Set the cookie value.
oCookie.Secure = false;
oCookie["Field1"] = strField1;
oCookie["Field2"] = strField2;
oCookie.Expires = DateTime.Now.AddDays(1);
// Add the cookie.
oPage.Response.Cookies.Add(oCookie);
// Get the cookie.
oCookie = new HttpCookie("UserData");
oCookie = oPage.Request.Cookies["UserData"];