• 如何查找当前页面元素---DataList


    以下是一个比较特殊的情况,看下图

    image

    需求:点击相应Button时,隐藏相关GridView

    解决思路:1.首先确定当前点击button,是哪一个button

                      2.获取当前点击button的对象(即可进行相关的操作)

    遇到问题:因为GridView,Button都是套在DataList中的,所以你无法手动确定当前button的位置?

    解决方法:首先在MasterPage页面要定义一个属性

                      MasterPage Page:

           private static Object master;

            /// <summary>
            /// 此属性用于:保存Master对象,以提供Find Control in the Master Page
            /// </summary>
            public static Object PageMaster {
                get { return master; }
                private set { master = value; }
            }

                      A Page:

                      protected void Button_Click ( Object sender , EventArgs e ) {

                           Button button = FindPageElementByItemIndex<Button>( sender , "buttonID" );

                            //可以对Button进行相应操作

                           GridView gridView = FindPageElementByItemIndex<GridView>( sender , "gridViewID" );

                            //可以对GridView进行相应操作(gridView.Visible = true, etc)

                      }

            private T FindPageElementByItemIndex<T> ( Object sender , String findTarget ) where T : class {

             ///确定当前Button在DataList中的位置
             Int32 curItemIndex = ( ( sender as Control ).BindingContainer as DataListItem ).ItemIndex;

             ///查找当前Button 的对象

             ///cphMain---ContentPlaceHolderID

             ///searchResultPage --- UserControl  ID (当然如果你没有把DataList在UserControl中,这个可以不用)

             ///dlSearchResult  --- DataList ID

             return ( ( ( MasterPage.PageMaster as MasterPage ).FindControl( "cphMain" )
                                                                      .FindControl( "searchResultPage" )
                                                            .FindControl( "dlSearchResult" ) as DataList ) )
                                                      .Items[curItemIndex].FindControl( findTarget ) as T;
             }

  • 相关阅读:
    【转】查看java类是从哪个包加载
    把本地代码同步到github
    【转】Sublime Text3注册码(可用)
    python网络编程学习笔记(二)
    python网络编程学习笔记(一)
    Linux学习笔记 第五章Linux首次登陆与在线求助 man page
    linux c 笔记 网络编程(三)..套接字数据传输
    linux c 笔记 网络编程(二)
    linux c 笔记 网络编程(一)
    互斥锁 笔记
  • 原文地址:https://www.cnblogs.com/RuiLei/p/1256148.html
Copyright © 2020-2023  润新知