ASP.NET 设置 cookie 的默认值
ASP.NET set default value for cookies
所以我制作了 2 页,一页用于设置,另一页用于标签和图像。我想要的是当没有 cookie 时 img_gm.BorderWidth 和 img_gm.Bordercolor 将默认为 1 和黑色,但似乎错误总是发生在 libe "img_gm.BorderWidth = Convert.ToInt32(cookie["width"]);"任何帮助将不胜感激。
*我在设置页面中放置了文本框、下拉列表和单选按钮以获取 cookies["width"]、cookies["color"] 和 cookies["font"] 的输入
protected void Page_Load(object sender, EventArgs e)
{
HttpCookie cookie = Request.Cookies["settings"];
if (Request.Cookies.AllKeys.Contains("settings") == null)
{
cookie["width"] = "1";
cookie["color"] = "Black";
cookie.Expires = DateTime.Now.AddDays(14);
Response.Cookies.Add(cookie);
}
else
{
img_gm.BorderWidth = Convert.ToInt32(cookie["width"]);
img_gm.BorderColor = System.Drawing.Color.FromName(cookie["color"]);
switch (cookie["font"])
{
case "Bold":
lbl_desc.Font.Bold = true;
break;
case "Italic":
lbl_desc.Font.Italic = true;
break;
case "Overline":
lbl_desc.Font.Overline = true;
break;
case "Underline":
lbl_desc.Font.Underline = true;
break;
}
}
一个巧妙的技巧是将它们更改为 class 中的属性:
public int CookieWidth {
get {
int width;
var str = String.Format("{0}", cookie["width"]);
if (!Integer.TryParse(str, width)) {
width = 1;
}
return width;
}
set {
cookie["width"] = value;
}
}
您也可以使用 Color 来做到这一点。
所以我制作了 2 页,一页用于设置,另一页用于标签和图像。我想要的是当没有 cookie 时 img_gm.BorderWidth 和 img_gm.Bordercolor 将默认为 1 和黑色,但似乎错误总是发生在 libe "img_gm.BorderWidth = Convert.ToInt32(cookie["width"]);"任何帮助将不胜感激。
*我在设置页面中放置了文本框、下拉列表和单选按钮以获取 cookies["width"]、cookies["color"] 和 cookies["font"] 的输入
protected void Page_Load(object sender, EventArgs e) {
HttpCookie cookie = Request.Cookies["settings"];
if (Request.Cookies.AllKeys.Contains("settings") == null)
{
cookie["width"] = "1";
cookie["color"] = "Black";
cookie.Expires = DateTime.Now.AddDays(14);
Response.Cookies.Add(cookie);
}
else
{
img_gm.BorderWidth = Convert.ToInt32(cookie["width"]);
img_gm.BorderColor = System.Drawing.Color.FromName(cookie["color"]);
switch (cookie["font"])
{
case "Bold":
lbl_desc.Font.Bold = true;
break;
case "Italic":
lbl_desc.Font.Italic = true;
break;
case "Overline":
lbl_desc.Font.Overline = true;
break;
case "Underline":
lbl_desc.Font.Underline = true;
break;
}
}
一个巧妙的技巧是将它们更改为 class 中的属性:
public int CookieWidth {
get {
int width;
var str = String.Format("{0}", cookie["width"]);
if (!Integer.TryParse(str, width)) {
width = 1;
}
return width;
}
set {
cookie["width"] = value;
}
}
您也可以使用 Color 来做到这一点。