asp.net中遍历界面上所有控件进行属性设置

* 使用方法:
 *  前台页面调用方法,重置:
    protected void Reset_Click(object sender, EventArgs e)
        {
            initControl(Page, "isClear");
        }

* 备注信息: 上传部分自己总结的常用方法的封装,有不足和不完美之处,希望大家指出来,愿意一起
 * 主要研究erp,cms,crm,b2b,oa等系统和网站的开发,欢迎有共同追求和学的IT人员一起学习和交流。
 * 学习和讨论有关asp.net  mvc ,Ajax ,jquery ,html/css, xml ,sqlserver ,wpf,IIS以及服务器的搭建和安全性相关技术的交流和学习。

1. [代码][C#]代码 asp.net中遍历界面上所有控件进行属性设置  
#region 遍历界面上所有控件进行属性设置
/// <summary>
/// 遍历界面上所有控件进行属性设置
/// </summary>
/// <param name="page"></param>
/// <param name="type">
///isClear是添加时候,清空数据信息,如果该控件为只读属性则不需要清除文本数据信息,
///如果type参数为空数值则默认为查看状态,控件都全部禁用掉
/// </param>
public static void initControl(Control page, string type)
{
    int nPageControls = page.Controls.Count;  //获取页面的控件
    for (int i = 0; i < nPageControls; i++)
    {
        foreach (Control control in page.Controls[i].Controls)
        {
            {
                //文本框控件
                if (control is TextBox)
                {
                    TextBox txtBox = (TextBox)control;
                    //如果是点击重置,需要判断是否为只读属性,如果是则不进行清除数据
                    if (type == "isClear" && txtBox.Enabled != false)
                        txtBox.Text = "";
                    else
                        txtBox.Enabled = false;
                }
                //下拉框控件
                if (control is DropDownList)
                {
                    DropDownList ddlList = (DropDownList)control;
                    if (type == "isClear" && ddlList.Enabled != false)
                        ddlList.SelectedIndex = -1;
                    else
                        ddlList.Enabled = false;
                }
                //复选框控件
                if (control is CheckBox)
                {
                    CheckBox chkBox = (CheckBox)control;
                    if (type == "isClear" && chkBox.Enabled != false)
                        chkBox.Checked = false;
                    else
                        chkBox.Enabled = false;
                }
                //点击按钮
                if (control is Button)
                {
                    Button btn = (Button)control;
                    if (type == "isClear" && btn.Enabled != false)
                        btn.Enabled = true;
                    else
                        btn.Enabled = false;
                }
                if (control is RadioButtonList)
                {
                    RadioButtonList radioList = (RadioButtonList)control;
                    if (type == "isClear" && radioList.Enabled != false)
                        radioList.SelectedIndex = -1;
                    else
                        radioList.Enabled = false;
                }
            }
        }
    }

}
#endregion

时间: 2024-11-10 16:40:51

asp.net中遍历界面上所有控件进行属性设置的相关文章

在WebBrowser中通过模拟键盘鼠标操控网页中的文件上传控件

在WebBrowser中通过模拟键盘鼠标操控网页中的文件上传控件 引言 这两天沉迷了Google SketchUp,刚刚玩够,一时兴起,研究了一下WebBrowser. 我在<WebBrowser控件使用技巧分享>一文中曾谈到过"我现在可以通过WebBrowser实现对各种Html元素的操控,唯独无法控制Html的上传控件",出于安全原因,IE没有对上传控件提供操控支持,这使得我们没法像控制其他控件一样用简单的代码进行赋值. 比较实际的解决方案就是模拟操作了,下面我就将演示

VC遍历窗口上的控件

CWnd *pChild = this->GetWindow(GW_CHILD); TCHAR szClassName[255] = { 0 }; while (pChild) { //获得类名 GetClassName(pChild->GetSafeHwnd(), szClassName, 255); CString strTemp=_T(""); //清空控件 pChild->SendMessage(WM_SETTEXT, 0, (LPARAM)(LPWSTR)(

android 广播和服务配合使用,修改界面上的控件

1.创建一个类继承 server  重写onStartCommand.可以根据Intent 传过来的参数 执行不同的子程序,执行完毕之后发送一个广播 在声明文件中声明 server   在 Application 里面  添加 <server>标签,不要隐式调用 Intent intent = new Intent("广播标识"); 2.在主 Activity  注册广播 (1)先创建一个内部类  继承 BroadcastReceiver,然后根据接收到的inten参数内容

asp.net几种开源上传控件,flash,ajax版,支持多文件

原文发布时间为:2010-03-18 -- 来源于本人的百度文章 [由搬家工具导入] 1、AspnetUpload 地址:http://www.aspnetupload.net/ 最早接触的上传控件。带进度条,能与系统自带的InputFile控件共用。不过是收费的,而且对Firefox支持较差。最新版本是2.3 2、FancyUpload - Swiff meets Ajax (v2.0)(开源) http://www.cnblogs.com/cnee5/archive/2008/10/23/1

iOS8和iOS7中的tableViewCell上的控件的 各种superView

iOS8: UITableViewCellContentView->UITableViewCell->UITableViewWrapperView->UITableView->UIView->UIViewControllerWrapperView->UINavigationTransitionView->UILayoutContainerView->UIViewControllerWrapperView->UITransitionView->UI

c#递归遍历窗体所有textbox控件,然后设置textbox事件

1 /// <summary> 2 /// 3 /// </summary> 4 /// <param name="sender"></param> 5 /// <param name="e"></param> 6 public virtual void SetTextBoxOnEnterStyle(object sender, EventArgs e) 7 { 8 if (sender is

在C#中子线程如何操作主窗口线程上的控件

在C#中子线程怎样操作主线程中窗口上控件 在C#中,直接在子线程中对窗口上的控件操作是会出现异常,这是因为子线程和运行窗口的线程是不同的空间,因此想要在子线程来操作窗口上的控件.是不可能简单的通过控件对象名来操作,但不是说不能进行操作,微软提供了Invoke的方法.其作用就是让子线程告诉窗口线程来完毕对应的控件操作. 要实现该功能,基本思路例如以下: 把想对还有一线程中的控件实施的操作放到一个函数中,然后使用delegate代理那个函数.而且在那个函数中加入一个推断,用 InvokeRequir

c# winform 循环遍历界面上的所有控件,foreach,Controls,AllowDrop

foreach (System.Windows.Forms.Control control in this.groupBox2.Controls)//遍历groupBox2上的所有控件 { if (control is System.Windows.Forms.PictureBox) { System.Windows.Forms.PictureBox pb = (System.Windows.Forms.PictureBox)control; pb.AllowDrop = true; } if

ASP.NET使用文件上传控件上传图片

ASPX代码 <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xht