国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - asp.net 簡單實現禁用或啟用頁面中的某一類型的控件

asp.net 簡單實現禁用或啟用頁面中的某一類型的控件

2019-06-21 11:49腳本之家 ASP.NET教程

最近在一個winform項目中碰到的一個功能,勾選一個checkbox后窗體中的其他控件不可用。由此想到asp.net項目中有時候也要用到這種功能。

比如,我們在提交一個表單的時候,可能由于網絡或服務器的原因,處理很慢,而用戶在處理結果出來之前反復點擊按鈕提交。這樣很容易造成不必要的麻煩甚至是錯誤。說了這么多,其實就是要實現一個禁用某些控件的一種功能。好了,下面我就介紹自己簡單實現的這個小功能,貼代碼: 
復制代碼代碼如下:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.HtmlControls; 
using System.Web.UI.WebControls; 
namespace DotNet.Common.Util 

/// <summary> 
/// 控件枚舉,我們在禁用或啟用時,就是根據這個枚舉來匹配合適的項 
/// </summary> 
public enum ControlNameEnum 

Panel = 0, //容器 這個比較常用 
TextBox = 1, 
Button = 2, //這個也比較常用 比如 按鈕提交后的禁用,返回結果后啟用 
CheckBox = 3, 
ListControl = 4, 
All = 100 //所有 

public static class ControlHelper 

#region 同時禁用或者啟用頁面的某些控件 
/// <summary> 
/// 設置是否啟用控件 
/// </summary> 
/// <param name="control"></param> 
/// <param name="controlName"></param> 
/// <param name="isEnable"></param> 
public static void SetControlsEnabled(Control control, ControlNameEnum controlName, bool isEnabled) 

foreach (Control item in control.Controls) 

/* 我們僅僅考慮幾種常用的asp.net服務器控件和html控件 */ 
//Panel 
if (item is Panel && (controlName == ControlNameEnum.Panel || controlName == ControlNameEnum.All)) 

((Panel)item).Enabled = isEnabled; 

//TextBox,HtmlTextBox 
if (controlName == ControlNameEnum.TextBox || controlName == ControlNameEnum.All) 

if (item is TextBox) 

((TextBox)(item)).Enabled = isEnabled; 

else if (item is HtmlInputText) 

((HtmlInputText)item).Disabled = isEnabled; 

else if (item is HtmlTextArea) 

((HtmlTextArea)(item)).Disabled = isEnabled; 


//Buttons 
if (item is Button && (controlName == ControlNameEnum.Button || controlName == ControlNameEnum.All)) 

if (item is Button) 

((Button)(item)).Enabled = isEnabled; 

else if (item is HtmlInputButton) 

((HtmlInputButton)(item)).Disabled = !isEnabled; 

else if (item is ImageButton) 

((ImageButton)(item)).Enabled = isEnabled; 

else if (item is LinkButton) 

((LinkButton)(item)).Enabled = isEnabled; 


//CheckBox 
if (controlName == ControlNameEnum.CheckBox || controlName == ControlNameEnum.All) 

if (item is CheckBox) 

((CheckBox)(item)).Enabled = isEnabled; 

else if (item is HtmlInputCheckBox) 

((HtmlInputCheckBox)(item)).Disabled = !isEnabled; 


//List Controls 
if (controlName == ControlNameEnum.ListControl || controlName == ControlNameEnum.All) 

if (item is DropDownList) 

((DropDownList)(item)).Enabled = isEnabled; 

else if (item is RadioButtonList) 

((RadioButtonList)(item)).Enabled = isEnabled; 

else if (item is CheckBoxList) 

((CheckBoxList)(item)).Enabled = isEnabled; 

else if (item is ListBox) 

((ListBox)(item)).Enabled = isEnabled; 

else if (item is HtmlSelect) 

((HtmlSelect)(item)).Disabled = !isEnabled; 


//如果項目還有子控件,遞歸調用該函數 
if (item.Controls.Count > 0) 

SetControlsEnabled(item, controlName, isEnabled); 



#endregion 


在aspx頁面中的調用如下: 
復制代碼代碼如下:

protected void Page_Load(object sender, EventArgs e) 

if (!IsPostBack) 

ControlHelper.SetControlsEnabled(this.Page, ControlNameEnum.Panel, false); //Panel禁用 


需要注意的是,我這里的實現只是針對幾種常用控件,您可以按照自己項目的需要任意擴展。 
測試打包下載

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美日韩专区 | 亚洲成人一区 | 中文久久| 日韩一区在线视频 | 亚洲精品久久 | www.色.com| 久久精品2019中文字幕 | 国产精品一二三区 | 狠狠干狠狠干 | 久久国产99 | 亚洲一区二区精品视频 | 欧洲成人午夜免费大片 | 日韩一二区视频 | 99精品久久久久久久免费 | 亚洲国产精品久久久久婷婷老年 | 欧美日韩在线视频观看 | 黄视频网站在线观看 | 欧美日韩一区二区三区不卡视频 | 久久精品一二三四 | 亚洲自拍偷拍网 | 日韩电影一区二区在线观看 | 亚洲综合av一区 | 99精品久久久 | 爱爱网址| 亚洲精品日本 | 久久久久久久97 | 中文国产在线观看 | 黄色网毛片 | 第一色网站 | 欧美成人精品一区 | 三级成人在线 | 日韩三区 | 一区二区三区久久久久 | 欧美久久久久久 | av国产精品 | 男人的天堂视频网站 | 日韩一区久久 | 久久亚洲天堂 | 国产精品久久久久久久 | 久久久久久亚洲 | 久久免费一区 |