我有一个下拉菜单,我有一个数据源,我将AutoPostBack设置为true.
我想添加一个数据源的第一个条目,例如“— select country —”,并选择此条目不会导致回发.
这感觉好像应该很容易做到,但我似乎无法找到一个很好的解决方案.
谢谢.
我想添加一个数据源的第一个条目,例如“— select country —”,并选择此条目不会导致回发.
这感觉好像应该很容易做到,但我似乎无法找到一个很好的解决方案.
谢谢.
解决方法
在aspx页面(重要的部分是处理DataBound事件并设置CausesValidation =“true”来强制下拉列表的验证):
<asp:DropDownList ID="ddlCountries" runat="server" DataSourceID="dsCountries" AutoPostBack="true" OnDataBound="ddlCountries_DataBound" CausesValidation="true" /> <asp:requiredFieldValidator ID="rfvCountries" runat="server" ControlToValidate="ddlCountries" Display="Dynamic" ErrorMessage="Please select a country." />
在你的codebehind(重要的是插入的项的值是String.Empty为必填字段验证器工作!):
protected void ddlCountries_DataBound(Object sender,EventArgs e) { ddlCountries.Items.Insert(0,new ListItem("--- select country ---",String.Empty)); }