【问题标题】:Displaying View of MVC in browser that dont have controller or action在没有控制器或动作的浏览器中显示 MVC 视图
【发布时间】:2015-04-24 09:50:33
【问题描述】:

在 MVC 中,我在路径“App/Main/Views”中创建了一个 .cshtml 文件。

我没有此文件的任何控制器或操作。但我需要在浏览器中显示 .cshtml 文件的内容。

请让我知道我应该如何在“RouteConfig.cs”文件中提供路由路径以实现上述场景。

【问题讨论】:

  • 正如@Cros 所说:“如果你没有控制器或动作,它不应该是一个视图。”路由可以提供很好的可读 URL,因此需要一个控制器来进行路由。如果您只想要没有大脑的原始文件,只需使用 HTML 文件。

标签: c# asp.net-mvc-4 razor asp.net-mvc-routing


【解决方案1】:

Asp.Net MVC 基于返回视图的控制器。您的路由指向控制器中呈现视图的操作。您似乎正在寻找的是一个静态视图,在这种情况下,它可以作为纯 *.html 文件处理。

如果你没有控制器或动作,它不应该是一个视图。

【讨论】:

    【解决方案2】:

    你可以试试这个配置

    public class RouteConfig
        {
            public static void RegisterRoutes(RouteCollection routes)
            {
                routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    
                routes.MapRoute(
                    name: "Default",
                    url: "{controller}/{action}/{id}",
                    defaults: new { controller = "Main", action = "Index", id = UrlParameter.Optional }
                );
            }
        }
    

    然后在您的 MainController 中以这种方式返回该视图:

    public class MainController : Controller
    
            {
                // GET: Main
                public ActionResult Index()
                {
    
                        return View("MyView", new MyViewModel{ title = "blabla"});
        }
        }
    

    【讨论】:

    • 但是,我的应用程序中没有任何控制器。我只有查看页面。我应该如何配置以显示没有控制器的视图页面。
    猜你喜欢
    • 1970-01-01
    • 2012-01-12
    • 2015-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多