下午结的贴,还是有问题
我的信息修改页edit.aspx 中有dropdownlist:ddl_sshy,其数据源为sqldatasource3控件
<asp:DropDownList ID="ddl_sshy" runat="server"
DataSourceID="SqlDataSource3" DataTextField="行业分类" DataValueField="id"
Width="100px" Height="20px">
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource3" runat="server"
ConnectionString="<%$ ConnectionStrings:DataConnectionString %>"
SelectCommand="SELECT [id], [行业分类] FROM [行业分类]">
</asp:SqlDataSource>
行业当然很多了,而在edit.aspx.cs里
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{ ......//调出数据库中一条记录的数据,赋值给各个TextBox、DropDownlist....
this.tb_mc.Text = rs["名称"].ToString(); //rs为一dataset
this.tb_jg.Text = rs["价格"].ToString();
......
在这里如何让dropdownlist:ddl_sshy的默认显示项为 rs["行业"].ToString()的内容
}
}
后来加了一段
ListItem item = this.ddl_sshy.Items.FindByValue(rs["行业"].ToString().Trim());
if (item != null)
{
this.ddl_sshy.SelectedIndex = this.ddl_sshy.Items.IndexOf(item);
}
调试发现item竟然为空(null)
后来发现在pageload完成之前其items.count=0
bool judge = false;
for (int i = 0;i < this.ddl_sshy.Items.Count;i ++)
{
this.Label1.Text = this.ddl_sshy.Items[i].Text;
if (this.ddl_sshy.Items[i].Text == rs["所属行业"].ToString())
{
judge = true;
}
}
总不至于每次修改完其他内容后都重新选择该行业字段,再保存啊
syq716@163.com QQ:948043613
------解决方案--------------------那你的DropDownList也没有绑定上数据啊,
------解决方案--------------------在绑定之后赋个初始值就行了啊。