C# 如何在禁用模式下执行整个web表单

C# 如何在禁用模式下执行整个web表单,c#,html,asp.net,.net,C#,Html,Asp.net,.net,我的网页包含130个下拉列表和100个复选框列表。线路总数为7500条。通过从其他页面接收查询字符串,此页面仅用于用户查看。我启动了每个control.enable=false,但花费了很多时间。如何做。提前谢谢。我发现一旦表单没有禁用属性,就不可能禁用整个表单。您可以使用下面的函数并在body onLoad上调用该函数 function disable() { var limit = document.forms[0].elements.length; for (i=0;i&l

我的网页包含130个
下拉列表
和100个
复选框列表
。线路总数为7500条。通过从其他页面接收
查询字符串
,此页面仅用于用户
查看
。我启动了每个
control.enable=false
,但花费了很多时间。如何做。提前谢谢。

我发现一旦表单没有禁用属性,就不可能禁用整个表单。您可以使用下面的函数并在body onLoad上调用该函数

function disable() {
    var limit = document.forms[0].elements.length;
    for (i=0;i<limit;i++) {
      document.forms[0].elements[i].disabled = true;
    }
  }
函数禁用(){
var limit=document.forms[0].elements.length;

对于(i=0;i我发现,一旦表单没有禁用属性,就不可能禁用整个表单。您可以转到下面的函数,并在body onLoad上调用该函数

function disable() {
    var limit = document.forms[0].elements.length;
    for (i=0;i<limit;i++) {
      document.forms[0].elements[i].disabled = true;
    }
  }
函数禁用(){
var limit=document.forms[0].elements.length;

对于(i=0;i使用JQuery,on ready事件

 var elem = $(input);
 $.each( elem , function() {
   $(this).attr('disabled', true);
 });
使用C#


将其称为“页面加载事件上的禁用控件(页面)”

使用JQuery,在就绪事件上

 var elem = $(input);
 $.each( elem , function() {
   $(this).attr('disabled', true);
 });
使用C#


将其称为“页面加载事件上的禁用所有控件(页面)”

如果您使用的是asp.net控件,请使用下面的代码在服务器端本身禁用。asp.net按钮、文本框、标签…等派生自WebControl和DropDownList,复选框列表派生自ListControl

foreach (var control in form1.Controls)
    {
        if (control is WebControl)
        {
            (control as WebControl).Enabled = false;
        }
        else if (control is ListControl)
        {
            (control as ListControl).Enabled = false;
        }
        else if (control is HtmlInputControl)
        {
            (control as HtmlInputControl).Disabled = true;
        }
    }
用于禁用除按钮以外的所有控件的客户端代码:

 function disableAllExceptButtons() {
        var limit = document.forms[0].elements.length;
        for (i = 0; i < limit; i++) {
            var control = document.forms[0].elements[i];
            if (control.type != "button" && control.type != "submit") {
                control.disabled = true;
            }
        }
    }
函数disableAllExceptButtons(){
var limit=document.forms[0].elements.length;
对于(i=0;i
如果您使用的是asp.net控件,请使用下面的代码在服务器端本身禁用。asp.net按钮、文本框、标签…等派生自WebControl,DropDownList、CheckboxList派生自ListControl

foreach (var control in form1.Controls)
    {
        if (control is WebControl)
        {
            (control as WebControl).Enabled = false;
        }
        else if (control is ListControl)
        {
            (control as ListControl).Enabled = false;
        }
        else if (control is HtmlInputControl)
        {
            (control as HtmlInputControl).Disabled = true;
        }
    }
用于禁用除按钮以外的所有控件的客户端代码:

 function disableAllExceptButtons() {
        var limit = document.forms[0].elements.length;
        for (i = 0; i < limit; i++) {
            var control = document.forms[0].elements[i];
            if (control.type != "button" && control.type != "submit") {
                control.disabled = true;
            }
        }
    }
函数disableAllExceptButtons(){
var limit=document.forms[0].elements.length;
对于(i=0;i
您是如何尝试禁用JavaScript代码背后或JavaScript中的控件的?您更喜欢哪种方式?@JamieBabineau如果他没有指定JavaScript标记,我想它将通过异步调用C#来执行。另外,看看这可能会启发您。我更喜欢您认为最好的方式,对于那些需要使用130个下拉列表和100个复选框的可怜用户来说,这只是一个眼泪。你是想从代码背后还是在JavaScript中禁用控件?你更喜欢哪种方式?@JamieBabineau如果他没有指定JavaScript标记,我想它将通过对C#的异步调用来执行。另外,请看一看好的,这可能会启发你。根据你的说法,我更喜欢这是最好的方式,只有那些需要使用130个下拉列表和100个复选框的可怜用户才能使用。这个函数有没有命名空间?你是否添加了onLoad=“disable”到body标记?现在添加了。我应该在哪里添加这个函数body的end或head?您正在使用disable方法吗?将“debugger;”添加到dev tools中disable和view browser的第一行。如果您正在调用它,您应该会看到它出现在这一行。是否有用于此函数的命名空间?是否添加了onLoad=“disable”到body标签?现在添加了..我应该在哪里添加这个函数body的end或head你在点击disable方法吗?添加“debugger;”到dev tools中的禁用和查看浏览器的第一行。如果您正在调用它,您应该会看到它出现在这一行。我在函数中编写了这个,并在页面加载中调用它。不工作。您使用html控件是asp.net控件吗?将Umar Memon的解决方案添加到body标记中,如下所示。它工作正常。
btnEdit.Enabled=true;btnBack.Enabled=true;btnExport.Enabled=true;btnPrint.Enabled=true
;这些字段也进入禁用模式..如何启用这些尝试此代码。函数disableAllExceptButtons(){var limit=document.forms[0]。elements.length;for(i=0;ibtnEdit.Enabled=true;btnBack.Enabled=true;btnExport.Enabled=true;btnPrint.Enabled=true;这些字段也进入禁用模式。
如何可以尝试此代码。函数disableAllExceptButtons(){var limit=document.forms[0]。elements.length;for(i=0;i