[英]ASP Dropdown on Page_Load
I want to create a Drop Down using Aspx, which will list all the items contained in a data source but it will have an additional default value of "selected". 我想使用Aspx创建一个下拉列表,它将列出数据源中包含的所有项目,但是它将具有一个附加的默认值“ selected”。
In the aspx file, I have: 在aspx文件中,我有:
<aspx:DropDownList
ID="ddl1"
runat="server"/>
In my aspx.cs file, I have a page_load, which contains: 在我的aspx.cs文件中,有一个page_load,其中包含:
protected void Page_Load(object sender, EventArgs e)
{
ddl1.DataSource = LocationofData;
ddl1.DataBind();
}
And let's assume that LocationofData will populate the values "a,b,c,etc...". 并假设LocationofData将填充值“ a,b,c等”。 I want the default value to be "--selected--" 我希望默认值为“ --selected--”
How should I approach this? 我应该如何处理?
Thanks 谢谢
You can add this code 您可以添加此代码
ddl1.Items.Add("--selected--"); //After your bind
So : 因此:
ddl1.DataSource = LocationofData;
ddl1.DataBind();
ddl1.Items.Add("--selected--"); //After your bind
Link : http://msdn.microsoft.com/en-us/library/e7s6873c.aspx 链接: http : //msdn.microsoft.com/en-us/library/e7s6873c.aspx
You can also use Insert method
您也可以使用Insert method
Link : http://msdn.microsoft.com/en-us/library/ffx2x2y2.aspx 链接: http : //msdn.microsoft.com/en-us/library/ffx2x2y2.aspx
Try this 尝试这个
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
ddl1.DataSource = LocationofData;
ddl1.DataBind();
//first item in the list
ddl1.Items.Insert(0, new ListItem("-- Select--",""));
}
}
I think best practice is to use ondatabound which calls the BaseDataBoundControl.DataBound event: ASP.NET Control: 我认为最佳实践是使用onDatabound,它调用BaseDataBoundControl.DataBound事件:ASP.NET控件:
<asp:DropDownList runat="server" ID="ddl1"
ondatabound="MyListDataBound"></asp:DropDownList>
Code behind: 后面的代码:
protected void MyListDataBound(object sender, EventArgs e)
{
ddl1.Items.Insert(0, new ListItem("- Select -", ""));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.