当前位置:编程学习 > C#/ASP.NET >>

是不是静态变量引起的问题???(高手请进!)

做了一个评分的小程序,评委登录后(评委信息用session传递)进入一个页面里用gridview绑定所有人的信息,然后点击每人后面的链接,进入Vote页面,该页里面有八个dropdownlist,每个代表一个评分项目,可以根据各个项目开始为此人评分,系统自动会把选定dropdownlist里的得分相加显示!我测试了一下,大概可以连续为10人左右评分,然后再点击链接,进入评分页面就没有响应(浏览器没反应,重新登录后又可以正常评分)!每个dropdownlist控件都设置了SelectedIndexChanged事件,而且我也把它们放到了一个updatepanel里面实现局部刷新,因为程序的目的是评委选择完dropdownlist里面的分数就可以在页面上显示已经评的分的和,我也没有找到更好的办法来实现这样的功能,所以就使用了静态变量来实现!是不是因为静态变量的原因?请高人解答!


public partial class Vote : System.Web.UI.Page
{
  protected static int Total1 = 0;
  protected static int Total2 = 0;
  protected static int Total3 = 0;
  protected static int Total4 = 0;
  protected static int Total5 = 0;
  protected static int Total6 = 0;
  protected static int Total7 = 0;
  protected static int Total8 = 0;

  protected void Page_Load(object sender, EventArgs e)
  {
  if (!IsPostBack)
  { Total1 = 0;
  Total2 = 0;
  Total3 = 0;
  Total4 = 0;
  Total5 = 0;
  Total6 = 0;
  Total7 = 0;
  Total8 = 0;
  }

  }
//================================================
  protected void ddlTalkContent_SelectedIndexChanged(object sender, EventArgs e)
  {
  if (ddlTalkContent.SelectedIndex != 0)
  {
  Total1 = int.Parse(ddlTalkContent.SelectedValue.ToString());
  }
  else
  {
  Total1 = 0;
  }

  int sum = Total1 + Total2 + Total3 + Total4 + Total5 + Total6 + Total7 + Total8;

  Label2.Text = "您为该生所评分数为: "+sum.ToString();
  }
//================================================
  protected void ddltalkThought_SelectedIndexChanged(object sender, EventArgs e)
  {
  if (ddltalkThought.SelectedIndex != 0)
  {
  Total2 = int.Parse(ddltalkThought.SelectedValue.ToString());
  }
  else
  {
  Total2 = 0;
  }

  int sum = Total1 + Total2 + Total3 + Total4 + Total5 + Total6 + Total7 + Total8;

  Label2.Text = "您为该生所评分数为: "+sum.ToString();
  }

——————后面还有6个dropdownlist,分别使用Total3—Total8

每个dropdownlist控件都设置了SelectedIndexChanged事件,而且我也把它们放到了一个updatepanel里面实现局部刷新,因为程序的目的是评委选择完dropdownlist里面的分数就可以在页面上显示已经评的分的和,我也没有找到更好的办法来实现这样的功能,所以就使用了静态变量来实现! --------------------编程问答-------------------- 说了一大堆,就是没把自己的问题说出来!你让别人怎么解释! --------------------编程问答-------------------- 粗略的看了下
应当是静态变量引起的
静态变量只在应用程序启动的时候 或者 static 构造函数中 赋值
对静态变量的更改会对全局产生影响

新群 DotNet Programmer 群号 112850311
本群新开,欢迎dotnet程序员加入,我们致力于营造一个好的学习交流氛围,不管你是高手还是菜鸟,只要你虚心好学,我们都诚挚的欢迎您。 --------------------编程问答-------------------- 这里使用静态变量是有问题的,如果有多个评委,只要一个评委的操作更改了静态变量的值,另一个评委也会得到该变量的值的
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,