布局文件未加载和路由问题 MVC?

Posted

技术标签:

【中文标题】布局文件未加载和路由问题 MVC?【英文标题】:Layout file not loaded and routing issue MVC? 【发布时间】:2017-08-09 11:21:39 【问题描述】:

我的路由配置文件是

 routes.IgnoreRoute("resource.axd/*pathInfo");

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

默认登录是加载登录控制器是

 [Route("")]
    public ActionResult Login()
    
        ViewBag.CustomerId = 0;
        ViewBag.Country = "pak";
        ViewBag.Email = "nouman@softconsults.com";
        return View();
    

带有正确设计的url默认加载布局页面http://localhost:2738/ 但是单击登录提交按钮或由 url 调用时与 url 相同的视图 http://localhost:2738/Login/Login 似乎未正确加载,详情请参阅图片

与其他文件类似的问题我的主布局页面未加载但登录单击我的 url 添加登录并继续添加以防万一用户密码错误但正确的用户密码工作完全成功并且下一页仅不加载其主页面以防万一继续添加登录的用户密码错误

http://localhost:2738/Login/Login/Login/Login

顶部的CSS引用

  <link rel="stylesheet" href="@Url.Content("Website/CSS/supersized.css")" type="text/css" media="screen " />
<link href="@Url.Content("http://fonts.googleapis.com/css?family=Oxygen:400,300,700")" rel='stylesheet'  type='text/css'>

<link href="@Url.Content("Website/CSS/custom.css.css")" rel="stylesheet" type="text/css"/>

<script type="text/javascript" src="@Url.Content("https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js")"></script>

<script type="text/javascript" src="@Url.Content("Website/JS/jquery.easing.min.js")"></script>

<script type="text/javascript" src="@Url.Content("Website/JS/supersized.3.2.7.js")"></script>


<script type="text/javascript">

    jQuery(function ($) 

        $.supersized(

            // Functionality
            slide_interval: 3000,       // Length between transitions
            transition: 3,          // 0-None, 1-Fade, 2-Slide Top, 3-Slide Right, 4-Slide Bottom, 5-Slide Left, 6-Carousel Right, 7-Carousel Left
            transition_speed: 700,      // Speed of transition

            // Components
            slide_links: 'blank',   // Individual links for each slide (Options: false, 'num', 'name', 'blank')
            slides: [           // Slideshow Images
                                                 image: 'Website/Main/banner_1.png', ,
                                                 image: 'Website/Main/banner_2.png', ,
                                                 image: 'Website/Main/banner_3.png', ,
                                                 image: 'Website/Main/banner_4.png', ,
                                                 image: 'Website/Main/banner_5.png', ,
                                                 image: 'Website/Main/banner_6.png', ,
                                                 image: 'Website/Main/banner_7.png', ,
                                                 image: 'Website/Main/banner_8.png', 

            ]

        );
    );

</script>

在页面底部登录和首页索引视图

    <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")"></script>
<script  src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")"></script>
 <script src="@Url.Content("~/Scripts/jquery.validate-vsdoc.js")"></script>
 <script  src="@Url.Content("~/Scripts/jquery.validate.min.js")"></script>
 <script src="@Url.Content("~/Scripts/jquery.validate.js")"></script>
 <script  src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")"></script>
 <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")"></script>
 <script  src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")"></script>

【问题讨论】:

在图片中查看彩色部分和非彩色部分的网址 您的两条路线都是相同的(它们接受 0 到 3 段),只有第一个会被命中 解决方案如果我做了什么改变 它只是对您的路线定义的评论(删除第二个 - 它毫无意义),而不是您问题的答案 @StephenMuecke 没错! OP 应该从 route.config 中删除第二个路由定义 【参考方案1】:

不要使用直接的相对路径,而是尝试使用下面的方法。

<link href="@Url.Content("~/Website/CSS/supersized.css")" rel="stylesheet" type="text/css" />

您也可以将这种方法用于 CSS、JS、图像。

【讨论】:

我做到了,但问题还是一样 试试看控制台,如果发现404,告诉我css url的路径 亲爱的朋友加了“~”符号??在 CSS 中 在网络标签中你可以找到css标签..所以你需要检查它是否加载了? ` image: '@Url.Content("~/Website/Main/banner_1.png")' , ,` 解决设计问题

以上是关于布局文件未加载和路由问题 MVC?的主要内容,如果未能解决你的问题,请参考以下文章

Android - 当设备改变方向时,布局土地中的布局 xml 未加载

MVC 3:如何在通过 ajax 加载时呈现没有布局页面的视图?

MVC系列-4.布局页

android重启项目之后布局界面打不开

在整个 MVC 应用程序中保留布局文件中选定的控件值

如何在 ASP.NET MVC 3 razor ViewStart 文件中指定不同的布局?