打开新页面后MVC5角度链接发生变化

时间:2016-04-15 06:57:59

标签: .net angularjs asp.net-mvc-5

我正在使用VS2015,C#和angular 1.4.5。

这些是我的设置:

enter image description here

我的按钮链接:

 <button ng-click="PartialPageLink = 'FirstTestProject/Album/Album';">                  
    Album
</button>

和ng-include指令:

<div id="divRight" ng-include="PartialPageLink"></div>   

一切都很好。使用PartialPageView填充Divsion'divRight'。直到我按下一个重定向到新页面的按钮,如下所示:

<button onclick="location.href='@Url.Action("NewUserRegistration","RegisterNewUser")'">          
    New user
</button>

我已被重定向到新页面。从该页面返回我的基页http://localhost/FirstTestProject

如果按部分页面更新按钮,我的链接将变为:

/ FirstTestProject / FirstTestProject /专辑/专辑

我收到404 - 未找到错误。知道为什么只有当我在两次通话之间打开新页面时,'FirstTestProject'才会被预先添加到PartialPageLink中?

1 个答案:

答案 0 :(得分:0)

我找到了问题的解决方案here

我仍然不明白为什么会发生这种情况以及为什么相对链接在开始时是正常的,而在打开另一个页面后它会变得腐败。我的代码稍微修改了原始版本,我只是在url周围添加单引号。现在我总是使用绝对网址,这解决了这个问题。

using System;
using System.Web;
using System.Web.Mvc;

namespace FirstTestProject.Helpers
{
    public static class UrlExtensions
    {
        public static string Content(this UrlHelper urlHelper, string contentPath, bool toAbsolute = false)
        {
            var path = urlHelper.Content(contentPath);
            var url = new Uri(HttpContext.Current.Request.Url, path);
            string newUrl = toAbsolute ? url.AbsoluteUri : path;
            return string.Format("{0}{1}{2}", "'", newUrl, "'");
        }
    }
}