检查是否有对ListBox控件选择
标签:
JavaScript
在前网页前端处,我们放置ListBox控件,在数据提交前,检查用户是否有对此控件进行选择? Insus.NET的方法是使用Javascript与CustomValidator自定义验证控件来检查。
可以看到最终结果:
你也想参此例子,可以参考下面数据与准备方法,写一个对象,它将用来产生十个天干。
HeavenlyStem.cs
using System;using System.Collections.Generic;using System.Linq;using System.Web;/// <summary>/// Summary description for HeavenlyStem/// </summary>public class HeavenlyStem{ private int _ID; private string _Name; public int ID { get { return _ID; } set { _ID = value; } } public string Name { get { return _Name; } set { _Name = value; } } public HeavenlyStem() { // // TODO: Add constructor logic here // } public HeavenlyStem(int id, string name) { this.ID = id; this._Name = name; }}
产生与用泛型来存储它们:
View Code
private List<HeavenlyStem> GetHeavenStem() { List<HeavenlyStem> ListHS = new List<HeavenlyStem>(); HeavenlyStem hs = new HeavenlyStem(); hs.ID = 1; hs.Name = "甲"; ListHS.Add(hs); hs = new HeavenlyStem(); hs.ID = 2; hs.Name = "乙"; ListHS.Add(hs); hs = new HeavenlyStem(); hs.ID = 3; hs.Name = "丙"; ListHS.Add(hs); hs = new HeavenlyStem(); hs.ID = 4; hs.Name = "丁"; ListHS.Add(hs); hs = new HeavenlyStem(); hs.ID = 5; hs.Name = "戊"; ListHS.Add(hs); hs = new HeavenlyStem(); hs.ID = 6; hs.Name = "己"; ListHS.Add(hs); hs = new HeavenlyStem(); hs.ID = 7; hs.Name = "庚"; ListHS.Add(hs); hs = new HeavenlyStem(); hs.ID = 8; hs.Name = "辛"; ListHS.Add(hs); hs = new HeavenlyStem(); hs.ID = 9; hs.Name = "壬"; ListHS.Add(hs); hs = new HeavenlyStem(); hs.ID = 10; hs.Name = "癸"; ListHS.Add(hs); return ListHS; }
Html标记:
View Code
<asp:ListBox ID="ListBoxHeavenlyStem" runat="server" Width="60" Height="160" SelectionMode="Multiple"></asp:ListBox> <asp:CustomValidator ID="CustomValidator1" runat="server" Display="None" ErrorMessage="必须选择选项" ClientValidationFunction="ValidateListBox"></asp:CustomValidator> <asp:ValidationSummary ID="ValidationSummary1" runat="server" EnableClientScript="true" ShowMessageBox="true" ShowSummary="false" /> <asp:Button ID="Button1" runat="server" Text="Submit" />
接下来,你需要在.aspx.cs为ListBox控件绑定数据,数据源即是刚才产生的List<HeavenlyStem>:
View Code
using System.Collections.Generic;using System.Data;using System.Data.OleDb;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using Insus.NET;public partial class _Default : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) Data_Binding(); } private void Data_Binding() { this.ListBoxHeavenlyStem.DataSource = GetHeavenStem(); this.ListBoxHeavenlyStem.DataTextField = "Name"; this.ListBoxHeavenlyStem.DataValueField = "ID"; this.ListBoxHeavenlyStem.DataBind(); } }
最后是写Javascript脚本:
View Code
function ValidateListBox(sender, args) { var lb = document.getElementById("<%=ListBoxHeavenlyStem.ClientID%>") var options = lb.options; args.IsValid = false; for (var i = 0; i < options.length; i++) { if (options[i].selected == true) { args.IsValid = true; return; } } }
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦