我在asp.net中填充兩個下拉列表。 兩者都被分配到必需的字段驗證器。必填字段驗證程序在下拉列表中發回消息
代碼隱藏是如下
if (!Page.IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.Add("emp");
dt.Columns.Add("ename");
for (int i = 0; i < 5; i++)
{
DataRow dr = dt.NewRow();
dr["emp"] = (i + 1).ToString();
dr["ename"] = (i + 1).ToString();
dt.Rows.Add(dr);
}
ddlEmp.DataSource = dt;
ddlEmp.DataTextField = "emp";
ddlEmp.DataValueField = "ename";
ddlEmp.DataBind();
ListItem l1 = new ListItem("--Select--", "0");
ddlEmp.Items.Insert(0, l1);
DropDownList1.DataSource = dt;
DropDownList1.DataTextField = "emp";
DropDownList1.DataValueField = "ename";
DropDownList1.DataBind();
DropDownList1.Items.Insert(0, l1);
}
設計代碼如下
<asp:DropDownList ID="ddlEmp" AutoPostBack="true" runat="server"></asp:DropDownList>
<asp:RequiredFieldValidator ID="rfvEmp" runat="server" ControlToValidate="ddlEmp" ErrorMessage ="employee" InitialValue="0">
</asp:RequiredFieldValidator>
<asp:DropDownList ID="DropDownList1" AutoPostBack="true" runat="server"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="DropDownList1" ErrorMessage ="DropDownList1" InitialValue="0">
</asp:RequiredFieldValidator>
<asp:Button ID="btn" runat="server" CausesValidation="true" />
現在發生的事情是,當我選擇一個字段,然後再次去選擇「 - 選擇 - 「,驗證器出現並消失。
驗證器爲什麼不保留? 我哪裏錯了?
喝罵
嗨它不工作我也面臨同樣的問題 – SANDEEP 2013-06-28 09:13:50
對不起,不對。 InitialValue與DDL的SelectedValue比較.http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.requiredfieldvalidator.initialvalue%28v=vs.110%29.aspx不知道爲什麼這被標記爲正確答案。我有同樣的問題。沒有運氣到目前爲止,下拉觸發自動回覆和紅色錯誤消息只是在回發期間閃爍..:/ – Osvier 2015-01-14 01:04:40