/// <summary>
        /// 使管理器切换到下一页。
        /// </summary>
        /// <param name="changePage">页面切换的方法。</param>
        /// <param name="callback">页面切换成功的回调方法。</param>
        /// <returns>一个值,指示操作是否成功。</returns>
        public virtual bool NextPage(ChangePageHandler changePage, CallbackHandler callback = null)
        {
            if (changePage == null)
            {
                throw new ArgumentNullException(nameof(changePage));
            }

            CancelArgs e = new CancelArgs();

            this.page = changePage(this.page, e);
            if (!e.Cancel)
            {
                this.page.Initialize();
                callback?.Invoke(this.page, e);

                return(!e.Cancel);
            }
            else
            {
                return(false);
            }
        }
Example #2
0
        //int _currentPageNumber;

        /*protected async override Task OnInitializedAsync()
         * {
         *  var rx_EndUri = new Regex(@"[1-9][0-9]*$");
         *  MatchCollection matches = rx_EndUri.Matches(NavigationManager.Uri);
         *  string str = matches.First().Value;
         *  bool isParsable = int.TryParse(str, out _currentPageNumber);
         *  CurrentPageNumber = _currentPageNumber;
         * }*/

        void ChangePage(int pageNumber)
        {
            NavigationManager.NavigateTo("/list/" + pageNumber);
            //CurrentPageNumber = pageNumber;
            ChangePageHandler.InvokeAsync(pageNumber);
        }