【问题标题】:First time with MVC第一次使用 MVC
【发布时间】:2020-07-27 02:14:57
【问题描述】:

我是 MVC 新手,我想问一下路由和控制器。

我有一个名为 LprController 的控制器

        public ActionResult Index()
        {
            return View();
        }

我有一个名为 ScanPage 的视图

@model FCoai.FCWCF.PCSResult

@{
    ViewBag.Title = "ScanPage";
}

<h2>ScanPage</h2>

这是我的路由配置

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );

我正在尝试直接显示扫描页面屏幕而不是常规的 MVC 关于页面,但我没有成功。我正在使用服务参考,这就是我没有模型类的原因,请给我一些关于如何做 response.redirects 的提示,就像我习惯于使用常规的 asp web 编程一样。

【问题讨论】:

    标签: model-view-controller


    【解决方案1】:

    要将扫描页面显示为 Web 应用中的默认页面,您需要做三件事:

    1. 将以下操作添加到您的控制器“它应该与视图名称匹配”:

      public ActionResult ScanPage()
      {
           return View();
      }
      
    2. 确保您的scanpage.chtml 位于以下路径"views/Lpr/scanpage.cshtml" 中。请注意,路径中的Lpr 是您的控制器的名称,“没有Controller 后缀”。

    3. 将您的页面设为以下路由行中的默认页面: 所以,你需要改变这个:

      defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
      

      进入这个:

      defaults: new { controller = "Lpr", action = "ScanPage", id = UrlParameter.Optional}
      

    就是这样。希望对您有所帮助。

    【讨论】:

    • 感谢这有助于我通过将 ScanPage() 放在 ActionResult 前面来显示页面。但是如何在页面之间重定向?
    • 有两种重定向方式:作为视图内的链接或从 ActionResult 到另一个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-03
    • 2021-09-30
    • 2016-06-12
    • 1970-01-01
    相关资源
    最近更新 更多