在ASP.NET MVC 3.5应用程序中。我有一个复选框,“Food / Bev”,这是一个布尔类型,我想知道如何管理它:
如果选中该复选框:
Caterer
成为必填字段。Caterer
选项,否则无法提交请求。如果未选中该复选框:
Caterer
下拉列表不是必填字段。感谢您的帮助!
答案 0 :(得分:2)
只做一个简单的if条件
if this.checkbox.checked && this.mydropdown.selectedindex=-1
//code / alert that warns the user you must make a selection
您可以使用?:
运算符:
bool b = ((myCheck.Checked && myDropDown.SelectedIndex==-1) ? true : false);
if(b) {
//stop submit of form as no selection was made
}
或者保持代码简洁明了:
bool b = this.CheckBox1.Checked && this.DropDownList1.SelectedIndex == -1;
//when the checkbox is not check Response.Write(b); prints false
//when the checkbox IS checked and no item is selected, Response.Write(b); prints true
答案 1 :(得分:1)
为下拉列表创建RequiredFieldValidator
,但将其设置为Enabled=false
。然后,选中该复选框后,调用ValidatorEnable
函数启用验证器。
这篇文章很旧,但它的信息仍然相关:http://msdn.microsoft.com/en-us/library/aa479045.aspx#aspplusvalid_clientside
答案 2 :(得分:1)
为DropDown添加必需的字段验证器,默认情况下设置Enabled =“false”。使用AutoPostBack =“true”将OnCheckChanged事件添加到CheckBox,并在事件处理程序中将验证程序的启用状态设置为CheckBox的已检查状态。