我第一次遇到这种问题
我在数据集的页面加载时设置下拉列表的值 但这是自动设置0指数..... 我的代码:
ddlEbitda.SelectedValue = objDataset.Tables[0].Rows[0]["acq_ebitda"].ToString();
我立即检查了窗户......
objDataset.Tables[0].Rows[0]["acq_ebitda"].ToString();
“40-60%之间”(来自数据集的值是正确的)
ddlEbitda.SelectedValue
"Up to 10 Million Dollar " ( this is default value setting )
我尝试了很多不同的代码来解决这个问题:
ddlEbitda.ClearSelection();
string Ebitda = objDataset.Tables[0].Rows[0]["acq_ebitda"].ToString();
ddlEbitda.Items.FindByValue(Ebitda).Selected = true;
string Ebitda = objDataset.Tables[0].Rows[0]["acq_ebitda"].ToString();
ddlEbitda.SelectedIndex = ddlEbitda.Items.IndexOf(ddlEbitda.Items.FindByValue(Ebitda));
但仍然无法解决这个问题....事实是我无法理解什么是问题.....
答案 0 :(得分:0)
这应该有效
string value=objDataset.Tables[0].Rows[0]["acq_ebitda"].ToString();
ddlEbitda.Items.FindByValue(value).Selected = true;
但请确保在使用DataSource绑定下拉列表时,acq_ebitda
应为DataValueField
。
如果是DataTextField
那么你应该尝试这样的事情
ddlEbitda.Items.FindByText(value).Selected = true;
答案 1 :(得分:0)
确保在Page_Load方法中的此代码块中填充/绑定DropDownList
If (!IsPostBack)
{
}
并在设置所选项目后立即。
ddlEbitda.SelectedValue
答案 2 :(得分:0)
确保您的下拉列表是否正确绑定到数据集并填充数据。特别要确保您分配的值在项目列表中。您可以在VS中快速查看,以便确保您分配的值在下拉项目中。因为你的方式是好的