求教
protected void btnSub_Click(object sender, EventArgs e)
{
string s = ddlchkList.SelectedValue;//获取选中的值
GetInfo(s);//获取信息的方法
palshow.Visible = true;//显示
}具体就是选取一个下拉列表的选项后,单击按钮 显示一个PANLE获取相关的信息但是这样写代码获取的都是下拉列表的第一个选项相关的信息 无论选什么 点击按钮以后都是第一个选项的相关信息。如何才能修正这个问题。
protected void btnSub_Click(object sender, EventArgs e)
{
string s = ddlchkList.SelectedValue;//获取选中的值
GetInfo(s);//获取信息的方法
palshow.Visible = true;//显示
}具体就是选取一个下拉列表的选项后,单击按钮 显示一个PANLE获取相关的信息但是这样写代码获取的都是下拉列表的第一个选项相关的信息 无论选什么 点击按钮以后都是第一个选项的相关信息。如何才能修正这个问题。
if(!IsPostBack)
中了么?
你这样写就可以获取到了
{
try
{
SqlConnection sqlcon = new SqlConnection(ConfigurationManager.AppSettings["jccon"].ToString());
string sql = "select * from [JX_Info] where [RecID]=" + s;
sqlcon.Open();
SqlCommand sqlcom = new SqlCommand(sql, sqlcon);
SqlDataReader dr = sqlcom.ExecuteReader();
if (dr.Read())
{
string away = dr["away"].ToString();
string name = dr["Name"].ToString();
txtName.Text = name;
txtAway.Text = away;
}
sqlcon.Close();
sqlcon.Dispose();
}
catch (Exception) { }
看看每次传入GetInfo(s)中的s为多少?如果总是第一项,那么就是DropDownList的问题了
确实GetInfo(s)中的S确实总是第一项。
{
SqlConnection sqlcon = new SqlConnection(ConfigurationManager.AppSettings["jccon"].ToString());
string sql = "select * from [JX_Info] where [chkflag]=0 and [isopened]=0";
sqlcon.Open();
SqlDataAdapter sqladp = new SqlDataAdapter(sql, sqlcon);
DataSet ds = new DataSet();
sqladp.Fill(ds,"JX_Info");
ddlchkList.DataSource = ds;
ddlchkList.DataValueField = "RecID";
ddlchkList.DataTextField = "RecName";
ddlchkList.DataBind();
}下拉绑定的代码然后就是Page_Load事件里面
protected void Page_Load(object sender, EventArgs e)
{
BindDDL();
}
{
string s = ddlchkList.SelectedValue;//获取选中的值
GetInfo(s);//获取信息的方法
palshow.Visible = true;//显示
}楼主你先在页面第一次加载的时候绑定DropDownList,看下你的DropDownList是不是在(!ispoastback)
{
。。//绑定你的下列列表
}
{
BindDDL();
}
不要这样子 放在这里面就OK了 protected void Page_Load(object sender, EventArgs e)
{
if(!ispostback)
{
BindDDL();
}
}
{
BindDDL();
}
原来是你的Page_Lode代码有问题,你还不清楚按钮事件的执行先后次序,你这样改就搞定了
{
BindDDL();
} void BindDDL()
{
SqlConnection sqlcon = new SqlConnection(ConfigurationManager.AppSettings["jccon"].ToString());
string sql = "select * from [JX_Info] where [chkflag]=0 and [isopened]=0";
sqlcon.Open();
SqlDataAdapter sqladp = new SqlDataAdapter(sql, sqlcon);
DataSet ds = new DataSet();
sqladp.Fill(ds,"JX_Info");
ddlchkList.DataSource = ds;
ddlchkList.DataValueField = "RecID";
ddlchkList.DataTextField = "RecName";
ddlchkList.DataBind();
}
protected void btnSub_Click(object sender, EventArgs e)
{
string s = ddlchkList.SelectedValue;//获取选中的值
GetInfo(s);//获取信息的方法
palshow.Visible = true;//显示
} void GetInfo(string s)
{
try
{
SqlConnection sqlcon = new SqlConnection(ConfigurationManager.AppSettings["jccon"].ToString());
string sql = "select * from [JX_Info] where [RecID]=" + s;
sqlcon.Open();
SqlCommand sqlcom = new SqlCommand(sql, sqlcon);
SqlDataReader dr = sqlcom.ExecuteReader();
if (dr.Read())
{
string away = dr["away"].ToString();
string name = dr["Name"].ToString();
txtName.Text = name;
txtAway.Text = away;
}
sqlcon.Close();
sqlcon.Dispose();
}
catch (Exception) { }代码就上面那一点。
这是原本的代码 没有别的东西了。页面就是几个控件。
{}