当前位置:  开发笔记 > 编程语言 > 正文

LINQ查询到WebControl.Controls

如何解决《LINQ查询到WebControl.Controls》经验,为你挑选了1个好方法。

我在页面上有三个TextBox控件




和一个事件处理程序

protected void TextBox_TextChanged(object sender, EventArgs e)
{
    WebControl changed_control = (WebControl)sender;

    var next_controls = from WebControl control in changed_control.Parent.Controls
                        where control.TabIndex > changed_control.TabIndex
                        orderby control.TabIndex
                        select control;

    next_controls.DefaultIfEmpty(changed_control).First().Focus();
}

此代码的含义是在页面回发后自动选择带有下一个TabIndex的TextBox(请参阅Little JB的问题)。实际上,我收到InvalidCastException,因为无法将其从System.Web.UI.LiteralControl(WebControl.Controls实际上包含LiteralControls)投射到System.Web.UI.WebControls.WebControl。

我有兴趣以某种方式修改此方法以接收有效的解决方案吗?谢谢!



1> Amy B..:

类型

from control in changed_control
  .Parent
  .Controls
  .OfType()

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有