读书人

不明白

发布时间: 2011-12-17 23:37:33 作者: rapoo

不明白!
在工程的App_Code下面有一个DataCon.cs公共类文件,
其中有函数:
public SqlConnection getcon()
{
string strCon = "Data Source=(local);DataBase=db_Examination;User ID=sa;PWD= ";
SqlConnection sqlCon = new SqlConnection(strCon);
return sqlCon;
}

public bool ecDropDownList(DropDownList DDL,string sqlstr3,string DTF,string DVF)
{
SqlConnection con = this.getcon();
con.Open();
SqlDataAdapter mydataadapter = new SqlDataAdapter(sqlstr3, con);
DataSet mydataset = new DataSet();
mydataadapter.Fill(mydataset);
DDL.DataSource = mydataset;
DDL.DataTextField = DTF;
DDL.DataValueField = DVF;
try
{
DDL.DataBind();
return true;
}
catch
{
return false;
}
finally
{
con.Close();
}
}

我在页面上放一个DropDownList和一个Button控件,后台代码为:
Datacon dataconn = new Datacon();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
dataconn.ecDropDownList(DropDownList1, "select * from tb_Profession ", "Name ", "ID ");
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write(DropDownList1.SelectedValue);


}

运行后选择DropDownList1中的某个项后一松手总是又回到头一项,这样点击Button后总是显示 '0 ',如果去掉dataconn.ecDropDownList(DropDownList1, "select * from tb_Profession ", "Name ", "ID ");这一句改为:
string strCon = "Data Source=(local);DataBase=db_Examination;User ID=sa;PWD= ";
SqlConnection sqlCon = new SqlConnection(strCon);
sqlCon.Open();
SqlDataAdapter da = new SqlDataAdapter( "select * from tb_profession ", sqlCon);
DataSet ds = new DataSet();
da.Fill(ds);
DropDownList1.DataSource = ds;
DropDownList1.DataTextField = "Name ";
DropDownList1.DataValueField = "ID ";
DropDownList1.DataBind();
sqlCon.Close();

就一切正常,Why?

[解决办法]
1.
运行后选择DropDownList1中的某个项后一松手总是又回到头一项,
----------------------------------------
是不是设置了 AutoPostBack = true ?
你在 SelectedIndexChanged 事件做了什么?

2.
没发现这样的 "封装 "有什么意义?

读书人网 >asp.net

热点推荐