【问题标题】:Change the home page based on a condition根据条件更改主页
【发布时间】:2021-11-04 14:46:24
【问题描述】:

我有一个 ASP.Net MVC 应用程序,它返回一个名为 Customer 的页面作为主页。所以在启动时我喜欢下面

app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Customers}/{action=Index}/{id?}");
            });

但是我现在有一个要求,即根据一个标准,我需要在客户页面为真时将其显示为主页,否则显示另一个页面。所以在CustomersController中我不确定如何返回另一个名为(AppNotAvailable.cshtml)的页面

   public async Task<IActionResult> Index(string sortOrder, string searchString,
                                           int? pageNumber, string currentFilter)
    {
        ViewData["CustomerParam"] = String.IsNullOrEmpty(sortOrder) ? "customer_desc" : "";
        ViewData["LocationParam"] = String.IsNullOrEmpty(sortOrder) ? "location_desc" : "";
        ViewData["CurrentFilter"] = searchString;
        ViewData["CurrentSort"] = sortOrder;

       if( Criteria == true)
        {
           return View(await PaginatedList<Customer>.CreateAsync(cust.AsNoTracking(), pageNumber ?? 1, pageSize));
         } 
         else
        {
         // How to return to the AppNotAvailable page
         }           
    }

我们可以从控制器返回两个不同的视图

【问题讨论】:

  • 嗨@user4912134,您可以只返回视图名称,例如return View("AppNotAvailable");,或整个视图路径,例如return View("/Views/Customers/ AppNotAvailable.cshtml");。不确定您的 AppNotAvailable.cshtml 是什么样的。但是如果这个视图需要一个模型,记得返回带有模型的视图:return View("AppNotAvailable",model);

标签: c# asp.net-core model-view-controller entity-framework-core asp.net-core-mvc


【解决方案1】:

这很简单:-

return View ('AppNotAvailable');

或者

return View("AppNotAvailable");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多