//填充DropDownList的值
private void FillData() {
BLL.C_Type bll_CType = new BLL.C_Type();
DataSet ds = bll_CType.GetAllList(); int rowCount = ds.Tables[0].Rows.Count; for (int i = 0; i < rowCount; i++)
{
ListItem item = new ListItem();
item.Value = ds.Tables[0].Rows[i][0].ToString();
item.Text = ds.Tables[0].Rows[i][1].ToString(); DDTypeName1.Items.Add(item);
DDTypeName2.Items.Add(item);
DDTypeName3.Items.Add(item);
DDTypeName4.Items.Add(item);
DDTypeName5.Items.Add(item);
DDTypeName6.Items.Add(item);
}
ds.Dispose();
} //获取用户修改的数据
private void GetDataSoucrceTypeIndex() {
try {
int rid = int.Parse(Request.QueryString["id"].ToString());
hiddRID.Value = rid.ToString(); //将值保存在隐藏域中,防止修改注入
BLL.R_SourceTypeIndex bll = new BLL.R_SourceTypeIndex();
Model.R_SourceTypeIndex model=bll.GetModel(rid); string fid1 = model.FID_1.ToString();
string fid2 = model.FID_2.ToString();
string fid3 = model.FID_3.ToString();
string fid4 = model.FID_4.ToString();
string fid5 = model.FID_5.ToString();
string fid6 = model.FID_6.ToString(); hiddFID1.Value = fid1;
hiddFID2.Value = fid2;
hiddFID3.Value = fid3;
hiddFID4.Value = fid4;
hiddFID5.Value = fid5;
hiddFID6.Value = fid6; DDTypeName1.SelectedValue = hiddFID1.Value;
DDTypeName2.SelectedItem.Value= hiddFID2.Value;
DDTypeName3.SelectedItem.Value = hiddFID3.Value;
DDTypeName4.SelectedItem.Value = hiddFID4.Value;
DDTypeName5.SelectedValue = hiddFID5.Value;
DDTypeName6.SelectedValue = hiddFID6.Value;
}
catch (Exception Err){ }
}
我写了这样两个方法,当给每个下拉列表框赋值时,后面的值总是覆盖前面的,如“DDTypeName1.SelectedValue=1”,但是当
“DDTypeName1.SelectedValue=2”赋值时,“DDTypeName1.SelectedValue=1”这是为什么,如何解决,最好能说明产生的原因。
private void FillData() {
BLL.C_Type bll_CType = new BLL.C_Type();
DataSet ds = bll_CType.GetAllList(); int rowCount = ds.Tables[0].Rows.Count; for (int i = 0; i < rowCount; i++)
{
ListItem item = new ListItem();
item.Value = ds.Tables[0].Rows[i][0].ToString();
item.Text = ds.Tables[0].Rows[i][1].ToString(); DDTypeName1.Items.Add(item);
DDTypeName2.Items.Add(item);
DDTypeName3.Items.Add(item);
DDTypeName4.Items.Add(item);
DDTypeName5.Items.Add(item);
DDTypeName6.Items.Add(item);
}
ds.Dispose();
} //获取用户修改的数据
private void GetDataSoucrceTypeIndex() {
try {
int rid = int.Parse(Request.QueryString["id"].ToString());
hiddRID.Value = rid.ToString(); //将值保存在隐藏域中,防止修改注入
BLL.R_SourceTypeIndex bll = new BLL.R_SourceTypeIndex();
Model.R_SourceTypeIndex model=bll.GetModel(rid); string fid1 = model.FID_1.ToString();
string fid2 = model.FID_2.ToString();
string fid3 = model.FID_3.ToString();
string fid4 = model.FID_4.ToString();
string fid5 = model.FID_5.ToString();
string fid6 = model.FID_6.ToString(); hiddFID1.Value = fid1;
hiddFID2.Value = fid2;
hiddFID3.Value = fid3;
hiddFID4.Value = fid4;
hiddFID5.Value = fid5;
hiddFID6.Value = fid6; DDTypeName1.SelectedValue = hiddFID1.Value;
DDTypeName2.SelectedItem.Value= hiddFID2.Value;
DDTypeName3.SelectedItem.Value = hiddFID3.Value;
DDTypeName4.SelectedItem.Value = hiddFID4.Value;
DDTypeName5.SelectedValue = hiddFID5.Value;
DDTypeName6.SelectedValue = hiddFID6.Value;
}
catch (Exception Err){ }
}
我写了这样两个方法,当给每个下拉列表框赋值时,后面的值总是覆盖前面的,如“DDTypeName1.SelectedValue=1”,但是当
“DDTypeName1.SelectedValue=2”赋值时,“DDTypeName1.SelectedValue=1”这是为什么,如何解决,最好能说明产生的原因。
private void FillData() {
BLL.C_Type bll_CType = new BLL.C_Type();
DataSet ds = bll_CType.GetAllList(); int rowCount = ds.Tables[0].Rows.Count; for (int i = 0; i < rowCount; i++)
{
//ListItem item = new ListItem();
//item.Value = ds.Tables[0].Rows[i][0].ToString();
//item.Text = ds.Tables[0].Rows[i][1].ToString(); string text = ds.Tables[0].Rows[i][1].ToString();
string value = ds.Tables[0].Rows[i][0].ToString(); DDTypeName1.Items.Add(new ListItem(text,value));
DDTypeName2.Items.Add(new ListItem(text,value));
DDTypeName3.Items.Add(new ListItem(text,value));
DDTypeName4.Items.Add(new ListItem(text,value));
DDTypeName5.Items.Add(new ListItem(text,value));
DDTypeName6.Items.Add(new ListItem(text,value));
}
ds.Dispose();
}
2.调用函数时加上:如
if(!IsPostBack)
{
FillData();
}
假如你的问题是3楼加if那个的话,那么我要埋怨楼主的代码不全;if那个语句主要是为了限定第一载入页面的时候进行,由于你没有加,那么只要点击服务器按钮等导致页面postback(回传)均会执行filldata方法!导致你的更改无效。