我正在进行必要的字段验证检查,首先我硬编码“选择项目”到我的ddllocation
,但是当我点击提交按钮时,系统不会提示我必填字段消息。我错过了什么吗?
代码背后
ddlLocation.DataSource = dsResult.Tables[0];
ddlLocation.DataTextField = "location_nm";
ddlLocation.DataValueField = "location_id";
ddlLocation.DataBind();
ddlLocation.Items.Insert(0, "----Select an Item----");
HTML
<asp:RequiredFieldValidator ID="rfvLocation" runat="server"
ControlToValidate="ddlLocation"Display="Dynamic" CssClass="ErrorMsg"
ErrorMessage="Mandatory" InitialValue="1"></asp:RequiredFieldValidator>
答案 0 :(得分:4)
您应该将InitialValue
设置为:
InitialValue = "----Select an Item----"
答案 1 :(得分:1)
更改
ddlLocation.Items.Insert(0, "----Select an Item----");
到
ddlLocation.Items.Insert(0, new ListItem("----Select an Item----", "1"));
因为您已将RequiredFieldValidator
的初始值设为1
您可以提供初始值,该值不会绑定到下拉列表中的数据
如果在不创建列表项的情况下插入项目,则该项目的值字段将为空值。那么你不能给RequiredFieldValidator
答案 2 :(得分:0)
首先,您应该通过这种方式在列表中插入项目
ddlLocation.Items.Insert(0, new ListItem("-select item-","0" ));
然后你可以在RequiredFieldValidator
这样设置初始值
InitialValue = "0"
0是首选,因为可以是{1}可以是dropdown
中任何其他位置的id。