【发布时间】:2020-02-28 10:06:12
【问题描述】:
我在我继承了我的基类的仪表板页面上,它期望基于值的重定向。我实际上不想显示页面的值为0。下面是代码。
这是我不想在仪表板页面上执行OnGet() 的主页。在此之前,我必须检查 HostBasePage 上的一些值
[Area("BusinessHost")]
[Authorize(Roles ="Host")]
public class dashboardModel : HostBasePage
{
public dashboardModel(IAccountBusinessRepository accountBusinessRepository, ISessionManager sessionManager)
: base(accountBusinessRepository, sessionManager) { }
public void OnGet()
{
}
}
这是我的基类,我想进入“AccountSetup”页面。
public class HostBasePage : PageModel
{
private readonly IAccountBusinessRepository _accountBusinessRepository;
private readonly ISessionManager _sessionManager;
public HostBasePage(IAccountBusinessRepository accountBusinessRepository, ISessionManager sessionManager)
{
_sessionManager = sessionManager;
_accountBusinessRepository = accountBusinessRepository;
ValidateAccount();
}
/// <summary>
/// Validate Host account.
/// Account setup and payment needs to me complated.
/// </summary>
private async Task<IActionResult> ValidateAccount()
{
try
{
var accountID = _sessionManager.GetSessionValue("AccountID");
HostProfileValidateModel obj = await _accountBusinessRepository.HostProfileValidate(Convert.ToInt32(accountID));
if (obj.IsAccountSetup == 0) {
return RedirectToPage("AccountSetup");
}
//if (obj.IsPaid == 0)
// throw new Exception("");
return
Page();
}
catch (Exception ex)
{
throw ex;
}
}
如果obj.IsAccountSetup 为0,我需要重定向。目前没有出现错误,但没有重定向到 AccountSetup 页面。
这是我要显示的页面。
[Area("BusinessHost")]
[Authorize(Roles = "Host")]
public class AccountSetupModel : PageModel
{
private readonly IAccountBusinessRepository _accountBusinessRepository;
private readonly IServiceBusinessRepository _serviceBusinessRepository;
private readonly ICategoryBusinessRepository _categoryBusinessRepository;
private readonly IFranchiseBusinessRepository _franchiseBusinessRepository;
private readonly ISessionManager _sessionManager;
private readonly IPlansBusinessRepository _plansBusinessRepository;
private readonly IBusinessHostAccountSetupRepository _businessHostAccountSetupRepository;
public AccountSetupModel(IBusinessHostAccountSetupRepository businessHostAccountSetupRepository, IAccountBusinessRepository accountBusinessRepository,IPlansBusinessRepository plansBusinessRepository , ISessionManager sessionManager, ICategoryBusinessRepository categoryBusinessRepository, IServiceBusinessRepository serviceBusinessRepository, IFranchiseBusinessRepository franchiseBusinessRepository)
{
_accountBusinessRepository = accountBusinessRepository;
_serviceBusinessRepository = serviceBusinessRepository;
_categoryBusinessRepository = categoryBusinessRepository;
_franchiseBusinessRepository = franchiseBusinessRepository;
_sessionManager = sessionManager;
_businessHostAccountSetupRepository = businessHostAccountSetupRepository;
_plansBusinessRepository = plansBusinessRepository;
}
public async void OnGet()
{
string email = _sessionManager.GetSessionValue("RegisterEmail");
ModelServiceModel = new ServicesModel();
ModelCategoryModel = new ServicesModel();
ModelFranchiseModel = new FranchiseModel();
GetAllAccountData();
GetAllCategories();
GetAllServices();
GetAllFranchise();
PlansModel = await _plansBusinessRepository.GetAllPlans();
if (PlansModel != null)
{
PlansModel.TotalAmmount = PlansModel.AccountSetupCharges + PlansModel.MonthlyCharges + PlansModel.FrontDeskCharges;
}
}
public void GetAllCategories()
{
var data = _categoryBusinessRepository.GetAllCategoriesList();
ModelServiceModel.Category = data.Result.Select(x => new SelectListItem
{
Text = Convert.ToString(x.CategoryName),
Value = Convert.ToString(x.CategoryID)
}).ToList();
}
}
【问题讨论】:
-
我也已经尝试过:- return RedirectToPage("/AccountSetup", new { area = "BusinessHost" });并返回 RedirectToPage("/AccountSetup");
-
与此页面或根相关的 AccountSetup 在哪里?
-
@ATerry 它与此页面有关,我有一个业务主机区域,并且页面“仪表板”和“AccountSetup”都在那里。
标签: c# asp.net-core .net-core .net-core-3.1