/// <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); } }
//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); }