如何在自定义UserControl中获取所有TextBox? - c#

我需要一种在服务器端ASP.net WebForms中动态收集自定义UserContorl内的所有TextBox的方法

我认为这可以工作:

foreach (var control in Page.Controls)
{
    var textBox = control as TextBox;
    if (textBox != null && textBox.MaxLength > 0)
    {
        // stuff here
    }
}

但是它并没有达到我的预期,并且我也看不到如何获得这些信息。

因此,如何在ASP.net Webforms中动态获取自定义UserControl的服务器端的所有文本框?

参考方案

您需要一种递归方法,因为并非所有1级子级都必须是文本框(取决于用户控件中的控件/容器层次结构):

private IEnumerable<TextBox> FindControls(ControlCollection controls)
{
  List<TextBox> results = new List<TextBox>();
  foreach(var control in controls) 
  {
     var textBox = control as TextBox;
     if (textBox != null && textBox.MaxLength > 0)
     { 
       results.Add(textBox);
     } 
     else if(textBox == null) 
     {
       results.AddRange(FindControls(control.Controls));
     }
  }

  return results;
}

获得结果后,您可以迭代它们并执行所需的任何操作。

是否可以在Java项目中使用.Net GUI? - c#

作为一个初学者,我想问一下在Java项目中可以使用.Net(最好是C#)GUI的任何方法吗?那是因为我觉得C#可以比Java更好,更轻松地设计GUI,但是据我所知,J2EE比C#更加强大(没有源代码,如果我输入错误,请纠正我)。那么,有可能吗?在Java中运行C#UI? 参考方案 C#没有UI。 .Net具有(Winforms,Silverlight,WPF…

从JAVA调用方法C#.NET - java

我有一个C#.NET项目中创建的dll,我想从Java程序中调用方法。我想知道是否存在实现此目标的机会,然后遇到了JNA和JNI。我应该使用哪一个?有什么建议么?我只需要在使用C#.NET编写的类中调用方法并处理Java程序的结果即可。 参考方案 这取决于您的应用程序,但是您可以将C#DLL放在服务中,例如WCF并以这种方式将功能公开给Java代码。使用ws…

从ASP.NET 1.1转换为ASP.Net 3.5后,单选按钮停止工作 - javascript

[我在下面以FYI的形式发布我们的问题和解决方案。如果您有Microsoft或代表机构对此问题的正式声明,我会将其标记为答案。否则,我下面的帖子将作为答案]。问题:我们采用了ASP.Net 1.1程序,并将其转换为ASP.Net 3.5。该页面最初正确显示,默认情况下选中一个单选按钮,并显示一个项目列表(“列表A”)。当我们单击另一个单选按钮时,它将正确显示…

.NET Core解决方案中同时具有API和MVC项目的约定 - c#

我有一个由以下项目构成的ASP.NET Core(.NET Core 2.2)应用程序:API:表示WebAPI(控制器继承ControllerBase)服务:包含API控制器用来访问数据库等的服务数据库:它包含常用的数据库存储库,服务层可利用这些数据库访问数据库现在,我想添加一个与API对话的UI(MVC部分位于.NET核心之前)。 .NET Core如何…

ddl在服务器中未更新-asp.net - javascript

我在ASP.NET c#上工作。我有一个DropDownList。 (runat =“ server”)在$ {document).ready上,我更新了它的值:$(document).ready(function () { document.getElementById("ddl").value = "abc"; ……