asp.net – 查找上一个和下一个兄弟控件
发布时间:2020-12-16 07:15:34 所属栏目:asp.Net 来源:网络整理
导读:有没有办法从代码隐藏中找到ASP.net表单中的上一个和下一个兄弟控件,类似于findControl()? 有时您不想为控件分配ID,因此您可以执行parent().findControl(“ID”)以便找到它.当我所能做的就是previousControl()或其他东西(la jQuery)时,我已经厌倦了提出ID.
有没有办法从代码隐藏中找到ASP.net表单中的上一个和下一个兄弟控件,类似于findControl()?
有时您不想为控件分配ID,因此您可以执行parent().findControl(“ID”)以便找到它.当我所能做的就是previousControl()或其他东西(la jQuery)时,我已经厌倦了提出ID. 这对于编写常规函数以解决具有类似布局且不想逐个解决它们的多个控件的情况也很有用. 谢谢你的任何建议. 解决方法
对于后人来说,这是我最终写作的功能.效果很好(在实际项目中测试):
public static Control PreviousControl(this Control control) { ControlCollection siblings = control.Parent.Controls; for (int i = siblings.IndexOf(control) - 1; i >= 0; i--) { if (siblings[i].GetType() != typeof(LiteralControl) && siblings[i].GetType().BaseType != typeof(LiteralControl)) { return siblings[i]; } } return null; } 要像这样使用: Control panel = textBox.PreviousControl(); 并为下一个控制: public static Control NextControl(this Control control) { ControlCollection siblings = control.Parent.Controls; for (int i = siblings.IndexOf(control) + 1; i < siblings.Count; i++) { if (siblings[i].GetType() != typeof(LiteralControl) && siblings[i].GetType().BaseType != typeof(LiteralControl)) { return siblings[i]; } } return null; } 这个解决方案优于Atzoya的优势在于,首先,您不需要原始控件来获取ID,因为我根据实例进行搜索.其次,您必须知道ASP.net会生成多个Literal控件,以便在您的“真实”控件之间呈现静态HTML.这就是我跳过它们的原因,或者你会继续匹配垃圾.当然,这样做的缺点是,如果它是一个文字,你就找不到控件.这个限制在我的使用中不是问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-4 – ASP.NET MVC4模型没有绑定
- 如何查看ASP.NET OutputCache的内容?
- asp.net-mvc – MVC 4 Code First属性上的ForeignKeyAttrib
- 如何编译x64 asp.net网站?
- 用于Asp.Net应用程序的SSO的最佳方法,从具有多个ADFS的外部
- asp.net – 在C#中从IronPython调用时引用Python“导入”程
- asp.net-mvc – 在ASP.NEt MVC 3中传递Html.BeginForm()中D
- ASP.net HTTP 404 – 找不到文件而不是MaxRequestLength异常
- 在IIS 7.5上运行的ASP.NET应用程序上强制Https
- asp.net-mvc – 将Castle Windsor与SignalR集成 – 我该如何
推荐文章
站长推荐
- asp.net – 在实体框架中使用PersianCalendar作为
- asp.net – C#如何在GridView上创建Hyperlink On
- entity-framework – 将DbContext注入FluentVali
- asp.net – 在集线器上下文之外的SignalR集线器中
- asp.net – 使用Roslyn动态编译控制器
- asp.net-mvc – 在github中避免使用ASP.NET密码?
- asp.net-mvc-3 – 我可以在ASp.Net MVC中使用Sys
- asp.net – 如何禁用谷歌chrome的建议列表使用tw
- asp.net – 无法加载viewstate.正在加载viewstat
- asp.net-mvc – SelectList选择的值未转移到Drop
热点阅读