droplist 初始选中项

caoyi1201 2009-08-11 11:03:38

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
initialization();
}
public void initialization()
{
DataAccess.Control dc = new DataAccess.Control();
Response.Write(dc.sql_getDepartName(getId()));//获得部门名称

//问题在这
ListItem li = (ListItem)this.DropDownList1.Items.FindByValue(dc.sql_getDepartName(getId()));
if (li != null)
{
li.Selected = true;
}
}

这个是页面代码
<asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="True"
DataSourceID="SqlDataSource1" DataTextField="DepartName"
DataValueField="DepartName">
<asp:ListItem>未选择</asp:ListItem>
</asp:DropDownList>

<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:kkConnectionString %>"
SelectCommand="SELECT [DepartName] FROM [DepartB]"></asp:SqlDataSource>



现在的问题是这样的 FindByValue 查找不到,是NULL

想问下, Page_Load 这个函数是不是运行在 数据源 之前?

我试过直接设置droplist的值,用this.DropDownList1.SelectedValue="" 是可以的,但是后面在页面获取不到当前选中项

了,永远都是初始选中项
...全文
112 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
kfancy1716 2009-08-11
  • 打赏
  • 举报
回复
LZ,我也有这个问题。。
caoyi1201 2009-08-11
  • 打赏
  • 举报
回复
解决了,前面要先绑定数据,用this.DropDownList1.DataBind();

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧