使用CustomValidator自定義驗(yàn)證控件檢查是否有對(duì)ListBox控件選擇
更新時(shí)間:2013年01月23日 08:59:26 作者:
在網(wǎng)頁(yè)前端處,我們放置ListBox控件,在數(shù)據(jù)提交前,檢查用戶是否有對(duì)此控件進(jìn)行選擇?小編將介紹使用Javascript與CustomValidator自定義驗(yàn)證控件來(lái)檢查感興趣的朋友可以了解下
在前網(wǎng)頁(yè)前端處,我們放置ListBox控件,在數(shù)據(jù)提交前,檢查用戶是否有對(duì)此控件進(jìn)行選擇? Insus.NET的方法是使用Javascript與CustomValidator自定義驗(yàn)證控件來(lái)檢查。
可以看到最終結(jié)果:
你也想?yún)⒋死?,可以參考下面?shù)據(jù)與準(zhǔn)備方法,寫一個(gè)對(duì)象,它將用來(lái)產(chǎn)生十個(gè)天干。
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;
}
}
產(chǎn)生與用泛型來(lái)存儲(chǔ)它們:
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標(biāo)記:
<asp:ListBox ID="ListBoxHeavenlyStem" runat="server" Width="60" Height="160" SelectionMode="Multiple"></asp:ListBox>
<asp:CustomValidator ID="CustomValidator1" runat="server" Display="None" ErrorMessage="必須選擇選項(xiàng)" ClientValidationFunction="ValidateListBox"></asp:CustomValidator>
<asp:ValidationSummary ID="ValidationSummary1" runat="server" EnableClientScript="true"
ShowMessageBox="true" ShowSummary="false" />
<asp:Button ID="Button1" runat="server" Text="Submit" />
接下來(lái),你需要在.aspx.cs為L(zhǎng)istBox控件綁定數(shù)據(jù),數(shù)據(jù)源即是剛才產(chǎn)生的List<HeavenlyStem>:
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腳本:
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;
}
}
}
可以看到最終結(jié)果:
你也想?yún)⒋死?,可以參考下面?shù)據(jù)與準(zhǔn)備方法,寫一個(gè)對(duì)象,它將用來(lái)產(chǎn)生十個(gè)天干。
HeavenlyStem.cs
復(fù)制代碼 代碼如下:
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;
}
}
產(chǎn)生與用泛型來(lái)存儲(chǔ)它們:
復(fù)制代碼 代碼如下:
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標(biāo)記:
復(fù)制代碼 代碼如下:
<asp:ListBox ID="ListBoxHeavenlyStem" runat="server" Width="60" Height="160" SelectionMode="Multiple"></asp:ListBox>
<asp:CustomValidator ID="CustomValidator1" runat="server" Display="None" ErrorMessage="必須選擇選項(xiàng)" ClientValidationFunction="ValidateListBox"></asp:CustomValidator>
<asp:ValidationSummary ID="ValidationSummary1" runat="server" EnableClientScript="true"
ShowMessageBox="true" ShowSummary="false" />
<asp:Button ID="Button1" runat="server" Text="Submit" />
接下來(lái),你需要在.aspx.cs為L(zhǎng)istBox控件綁定數(shù)據(jù),數(shù)據(jù)源即是剛才產(chǎn)生的List<HeavenlyStem>:
復(fù)制代碼 代碼如下:
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腳本:
復(fù)制代碼 代碼如下:
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;
}
}
}
您可能感興趣的文章:
相關(guān)文章
Springboot服務(wù)Docker化自動(dòng)部署的實(shí)現(xiàn)方法
這篇文章主要介紹了Springboot服務(wù)Docker化自動(dòng)部署的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
使用母版頁(yè)時(shí)內(nèi)容頁(yè)如何使用css和javascript
由于網(wǎng)站的主要頻道頁(yè)和列表頁(yè)的頭部和底部都是一樣的,如果將每個(gè)頁(yè)面放在單獨(dú)的頁(yè)面中,當(dāng)頭部和底部需要更改時(shí)維護(hù)量太大。于是想把頭部和底部做成母版頁(yè),頻道頁(yè)和列表頁(yè)的具體內(nèi)容放到內(nèi)容頁(yè)中。這樣當(dāng)頭和底需要改動(dòng)時(shí),只要修改一下母版頁(yè)就可以了。2009-08-08
gridview中實(shí)現(xiàn)radiobutton的單選示例
radiobutton可以單選,于是想讓gridview也可以實(shí)現(xiàn),具體的思路及代碼如下,感興趣的朋友可以參考下2013-08-08
HttpWebRequest的常見錯(cuò)誤使用TcpClient可避免
有時(shí)使用HttpWebRequest對(duì)象會(huì)出現(xiàn)錯(cuò)誤有三種服務(wù)器提交了協(xié)議沖突/基礎(chǔ)連接已經(jīng)關(guān)閉:連接被意外關(guān)閉/無(wú)法發(fā)送具有此謂詞類型的內(nèi)容正文,感興趣的朋友可以參考下本文2013-02-02
.Net Core實(shí)現(xiàn)健康檢查的示例代碼
這篇文章主要介紹了.Net Core實(shí)現(xiàn)健康檢查的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
asp.net下判斷用戶什么時(shí)候離開,以什么方式離開
asp.net下判斷用戶什么時(shí)候離開,以什么方式離開...2007-03-03

