C#,if(!Page.IsPostBack) 总是重复判断,怎么回事,该怎么改啊?
我在page_load()中,写了如下代码,目的是要在页面初次加载时,在列表框显示数据表的一些内容.如Lbypzl(),gwlb()这个函数分别取出数据表的劳保用品名称\...
我在page_load()中,写了如下代码,目的是要在页面初次加载时,在列表框显示数据表的一些内容.如Lbypzl(),gwlb()这个函数分别取出数据表的劳保用品名称\岗位类别(函数没有错).但是我发现列表框里数据被加载了两次.断点执行发现if(!Page.IsPostBack) 执行完又去执行if(!Page.IsPostBack).我该怎么改这段代码.回答越详细越好,最好给出源代码,我很笨~
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!Page.IsPostBack)
{
if(Session.Count>0)
{
this.Txtbm.Text=Session["bmmc"].ToString().Trim();
this.Txtuser.Text=Session["yhmc"].ToString().Trim();
this.Txtqx.Text=Session["yhqx"].ToString().Trim();
this.Txtbmid.Text=Session["bmid"].ToString().Trim();
ffrq.Text = Calendar1.TodaysDate.ToString("yyyyMMdd");
this.Calendar1.Visible=false;
List();
Lbypzl();
gwlb();
}
else
return;
}
}
public void gwlb()
{
string sql="select distinct gwlb from zgb where bmid='"+Txtbmid.Text+"'";
Open_conn();
myConnection.Open();
SqlCommand mycom = new SqlCommand(sql,myConnection);
SqlDataReader myreader = mycom.ExecuteReader();
while(myreader.Read())
{
string process_name = myreader["gwlb"].ToString().Trim();
Selgwlb.Items.Add(process_name);
}
myreader.Close();
myConnection.Close();
}
public void Lbypzl()
{
string sql="select lbypid,lbypname from lbypb";
Open_conn();
myConnection.Open();
SqlCommand mycom = new SqlCommand(sql,myConnection);
SqlDataReader myreader = mycom.ExecuteReader();
while(myreader.Read())
{
string process_lbypname = myreader["lbypname"].ToString().Trim();
Sellbybzl.Items.Add(process_lbypname);
}
myreader.Close();
myConnection.Close();
} 展开
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!Page.IsPostBack)
{
if(Session.Count>0)
{
this.Txtbm.Text=Session["bmmc"].ToString().Trim();
this.Txtuser.Text=Session["yhmc"].ToString().Trim();
this.Txtqx.Text=Session["yhqx"].ToString().Trim();
this.Txtbmid.Text=Session["bmid"].ToString().Trim();
ffrq.Text = Calendar1.TodaysDate.ToString("yyyyMMdd");
this.Calendar1.Visible=false;
List();
Lbypzl();
gwlb();
}
else
return;
}
}
public void gwlb()
{
string sql="select distinct gwlb from zgb where bmid='"+Txtbmid.Text+"'";
Open_conn();
myConnection.Open();
SqlCommand mycom = new SqlCommand(sql,myConnection);
SqlDataReader myreader = mycom.ExecuteReader();
while(myreader.Read())
{
string process_name = myreader["gwlb"].ToString().Trim();
Selgwlb.Items.Add(process_name);
}
myreader.Close();
myConnection.Close();
}
public void Lbypzl()
{
string sql="select lbypid,lbypname from lbypb";
Open_conn();
myConnection.Open();
SqlCommand mycom = new SqlCommand(sql,myConnection);
SqlDataReader myreader = mycom.ExecuteReader();
while(myreader.Read())
{
string process_lbypname = myreader["lbypname"].ToString().Trim();
Sellbybzl.Items.Add(process_lbypname);
}
myreader.Close();
myConnection.Close();
} 展开
4个回答
展开全部
你帖子里的代码没有问题。我想问题有可能是你在页面的脚本代码或是其他调用这个页面的代码中有重复打开找个页面的逻辑。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建议LZ一句一句按F11调试过去 慢慢看找出错误! 有助于自己提高解决能力!更能找出答案! .net的调试功能那么强大 问什么不好好用起来呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(!Ispostback)执行两次只可能是同一页面两次不同的请求.而不是同一页面的回发.估计你是通过导航菜单请求这个页面,而不是页面中的控件事件回发地.对吗??
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(!IsPostBack)
是指页面不回发
是指页面不回发
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询