コード例 #1
0
        public Control[] CreateSut()
        {
            Assertion.IsFalse(WcagHelper.Instance.IsWaiConformanceLevelARequired());

            List <Control> controls = new List <Control>();

            _label      = new Label();
            _label.Text = "Test Result: ###";
            controls.Add(_label);

            _postBackEventHandler           = new PostBackEventHandler();
            _postBackEventHandler.ID        = "PostBackEventHandler";
            _postBackEventHandler.PostBack += HandlePostBack;
            controls.Add(_postBackEventHandler);

            Table sutTable = new Table();

            sutTable.ID = "SutTable";
            sutTable.EnableViewState     = false;
            _testControlGenerator        = new TestControlGenerator(_sutPage, _postBackEventHandler);
            _testControlGenerator.Click += TestControlGeneratorOnClick;
            foreach (Control initialControl in _testControlGenerator.GetTestControls(null))
            {
                sutTable.Rows.Add(CreateRow(initialControl));
            }
            controls.Add(sutTable);

            return(controls.ToArray());
        }
コード例 #2
0
        public TestControlGenerator(Page page, PostBackEventHandler postBackEventHandler)
        {
            ArgumentUtility.CheckNotNull("page", page);
            ArgumentUtility.CheckNotNull("postBackEventHandler", postBackEventHandler);

            _page = page;
            _postBackEventHandler = postBackEventHandler;
        }
コード例 #3
0
        private string AddSyncPostBackEventHandlerToPage()
        {
            var syncPostBackEventHandler = new PostBackEventHandler {
                ID = "SyncPostBackTarget"
            };

            AddPostBackEventHandlerToPage(syncPostBackEventHandler);

            syncPostBackEventHandler.PostBack += HandlePostBack;

            return(syncPostBackEventHandler.UniqueID);
        }
コード例 #4
0
        private string AddAsyncPostBackEventHandlerToPage()
        {
            var asyncPostBackEventHandler = new PostBackEventHandler {
                ID = "AsyncPostBackTarget"
            };

            AddPostBackEventHandlerToPage(asyncPostBackEventHandler);

            var sm = ScriptManager.GetCurrent(Page);

            if (sm != null)
            {
                sm.RegisterAsyncPostBackControl(asyncPostBackEventHandler);
            }

            asyncPostBackEventHandler.PostBack += HandlePostBack;

            return(asyncPostBackEventHandler.UniqueID);
        }
コード例 #5
0
ファイル: PostBack.cs プロジェクト: iamr8/IoTGateway
        public string GetUrl(PostBackEventHandler Callback, object State)
        {
            byte[] Bin = new byte[32];
            string Key;

            lock (this.synchObj)
            {
                rnd.GetBytes(Bin);
                Key = Base64Url.Encode(Bin);

                if (this.queries is null)
                {
                    this.queries          = new Cache <string, KeyValuePair <PostBackEventHandler, object> >(int.MaxValue, TimeSpan.FromMinutes(5), TimeSpan.FromMinutes(5));
                    this.queries.Removed += this.Queries_Removed;
                }

                this.queries[Key]          = new KeyValuePair <PostBackEventHandler, object>(Callback, State);
                this.queries[string.Empty] = new KeyValuePair <PostBackEventHandler, object>(null, null);                   // Keep cache active to avoid multiple recreation when a series of requests occur in sequence.
            }

            return("http://localhost:8080" + this.ResourceName + "/" + Key);
        }
コード例 #6
0
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);
            AsyncPostBackInsideUpdatePanelButton.Click      += HandlePostBack;
            AsyncPostBackOutsideUpdatePanelButton.Click     += HandlePostBack;
            SyncPostBackInsideUpdatePanelButton.Click       += HandlePostBack;
            SyncPostBackOutsideUpdatePanelButton.Click      += HandlePostBack;
            AsyncPostBackInsideUpdatePanelLinkButton.Click  += HandlePostBack;
            AsyncPostBackOutsideUpdatePanelLinkButton.Click += HandlePostBack;
            SyncPostBackInsideUpdatePanelLinkButton.Click   += HandlePostBack;
            SyncPostBackOutsideUpdatePanelLinkButton.Click  += HandlePostBack;
            AsyncPostBackInsideUpdatePanelWebButton.Click   += HandlePostBack;
            AsyncPostBackOutsideUpdatePanelWebButton.Click  += HandlePostBack;
            SyncPostBackInsideUpdatePanelWebButton.Click    += HandlePostBack;
            SyncPostBackOutsideUpdatePanelWebButton.Click   += HandlePostBack;
            DropDownMenuInsideUpdatePanel.EventCommandClick += HandlePostBack;
            ListMenuInsideUpdatePanel.EventCommandClick     += HandlePostBack;

            _postBackEventHandler           = new PostBackEventHandler();
            _postBackEventHandler.ID        = "PostBackEventHandler";
            _postBackEventHandler.PostBack += HandlePostBack;
            Controls.Add(_postBackEventHandler);

            string asyncPostBackCommandInsideUpdatePanelID = "AsyncPostBackCommandInsideUpdatePanel";

            AsyncCommandInsideUpdatePanelHyperLink.NavigateUrl           = "#";
            AsyncCommandInsideUpdatePanelHyperLink.Attributes["onclick"] =
                Page.ClientScript.GetPostBackEventReference(_postBackEventHandler, asyncPostBackCommandInsideUpdatePanelID);

            string syncPostBackCommandInsideUpdatePanelID = "SyncPostBackCommandInsideUpdatePanel";

            ((ISmartPage)Page).RegisterCommandForSynchronousPostBack(_postBackEventHandler, syncPostBackCommandInsideUpdatePanelID);
            SyncCommandInsideUpdatePanelHyperLink.NavigateUrl           = "#";
            SyncCommandInsideUpdatePanelHyperLink.Attributes["onclick"] =
                Page.ClientScript.GetPostBackEventReference(_postBackEventHandler, syncPostBackCommandInsideUpdatePanelID);
        }
コード例 #7
0
 protected override void AddPostBackEventHandlerToPage(PostBackEventHandler postBackEventHandler)
 {
     Controls.Add(postBackEventHandler);
 }
コード例 #8
0
 protected abstract void AddPostBackEventHandlerToPage(PostBackEventHandler postBackEventHandler);
コード例 #9
0
 protected override void AddPostBackEventHandlerToPage(PostBackEventHandler postBackEventHandler)
 {
     UpdatePanel.TemplateControl.Controls.Add(postBackEventHandler);
 }