C# ASP.NET为Cookie设置默认值

C# ASP.NET为Cookie设置默认值,c#,asp.net,cookies,C#,Asp.net,Cookies,所以我做了两个页面,一个用于设置,一个用于标签和图像。我想要的是,当没有cookies时,img_gm.BorderWidth和img_gm.Bordercolor默认为1和黑色,但libe“img_gm.BorderWidth=Convert.ToInt32(cookie[“width]”)中似乎总是出现错误;任何帮助都将不胜感激 *我将文本框、下拉列表和单选按钮放入设置页面,以获得cookies[“宽度”]、cookies[“颜色”]和cookies[“字体”]的输入 受保护的无效页面加载(

所以我做了两个页面,一个用于设置,一个用于标签和图像。我想要的是,当没有cookies时,img_gm.BorderWidth和img_gm.Bordercolor默认为1和黑色,但libe“img_gm.BorderWidth=Convert.ToInt32(cookie[“width]”)中似乎总是出现错误;任何帮助都将不胜感激

*我将文本框、下拉列表和单选按钮放入设置页面,以获得cookies[“宽度”]、cookies[“颜色”]和cookies[“字体”]的输入

受保护的无效页面加载(对象发送方、事件参数e) {


一个巧妙的技巧是将它们更改为类中的属性:

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;
  }
}

你也可以用颜色来做这件事。

为什么你要检查if块中的
Response.Cookes.AllKeys
?也许应该是
Request
?哦,是的,我把它们混在一起了,我在代码中写了Request,但它仍然在“img_gm.BorderWidth=Convert.ToInt32(cookie[“width]”)中给我一个错误如果设置断点并检查
cookie[“width”]
值,它有什么值?可能它有一些旧的测试值不是整数,因此在解析过程中失败?而cookie只需要在浏览器中清除?
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;
  }
}