我有一个与aspx页面中的DataSource相关联的DropDownList.我需要在页面加载时再添加一个项目.
我的代码:
<asp:LabelDropDownList ID="ddlVisualTemplate" runat="server" LabelText="Visual Template:" DataSourceID="VisualTemplateDataSource" DataTextField="Name" DataValueField="Id" AutopostBack="true" OnSelectedindexChanged="ddlVisualTemplate_SelectedindexChanged"/> <asp:EntityDataSource ID="VisualTemplateDataSource" runat="server" ConnectionString="name=Entities" DefaultContainerName="Entities" EnableFlattening="False" EntitySetName="tbEmailVisualTemplates">
而我正在尝试额外的项目:
protected void Page_Load(object sender,EventArgs e) { if (!IsPostBack) { ddlVisualTemplate.Items.Add(new ListItem("None",string.Empty)); } }
解决方法
这很可能是因为您在DataBind()之前添加了项目.如果要添加项目
ddlVisualTemplate.Items.Add()
然后你必须在下拉列表被绑定后这样做.
如果您查看http://msdn.microsoft.com/en-us/library/ms178472.aspx,那么DataBind将在PreRenderComplete中完成.因此,您必须在PreRenderComplete之后发生的某些事件中添加元素.或者您可以在ddlVisualTemplate.DataBound事件上执行此操作.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。