zoukankan      html  css  js  c++  java
  • 如何查找当前页面元素---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;
             }

  • 相关阅读:
    Find cmd
    splitFile2SmallFile
    IPC-->PIPO
    Thread and shared lock
    Python Thread related
    linux 文件系统
    linux commands
    关于 gnome3 无法显示应用程序所有界面的反馈
    Windows 网络编程
    常见端口 HTTP代码
  • 原文地址:https://www.cnblogs.com/RuiLei/p/1256148.html
Copyright © 2011-2022 走看看