Dictionary<string, string> propertyCompany = new Dictionary<string, string>();//gloabal variable

protected void Page_Load(object sender, EventArgs e)
{
   if(!isPostBack){
      propertyCompany .add("a","1");
      propertyCompany .add("b","2");
      propertyCompany .add("c","3");
   }
}

protected void btnGetProperty_Click(object sender, EventArgs e)
{
      string a=propertyCompany["a"];//error this key is not exist
     //propertyCompany is null
}

当定义propertyCompany并填写form_load时。点击按钮中的propertyCompany为空!是吗?
我使用static但有时我不理解错误为空。

最佳答案

每个请求都会创建新的页面对象,因此不能在第一个请求中创建的第二个请求(bnt click)字典中使用(加载时不回发)
删除回发测试以快速修复。
其他修复位置:
*将字典存储在viewstate中。

07-26 09:14