【发布时间】:2016-02-29 07:55:41
【问题描述】:
我有一个带有 AngularJS 的 MVC .NET 应用程序。在我的路由提供程序中,我使用 mvc 的控制器来检索视图,如下所示:
.when('/Units', {
templateUrl: 'Unit/Units'
})
.when('/UnitsDetail', {
templateUrl: 'Unit/UnitsDetail'
})
而我的 .NET UnitController 有以下方法:
[Authorize]
public ActionResult Units()
{
return View();
}
[Authorize]
public ActionResult UnitsDetail()
{
ViewBag.reference = Guid.NewGuid().ToString().Substring(0, 6);
return View();
}
对于 UnitsDetail 视图,我需要在 UnitsDetail() 方法中生成的引用。
当我多次从 Units 转到 UnitsDetail 时,问题就出现了。第一次调用 UnitsDetail() 方法并因此生成引用,但如果我返回 Units 并再次访问 UnitsDetail,则不会调用该方法并且引用是相同的。我需要每次生成一个引用。
我知道我可以在客户端使用 JS 生成它,或者从 Angular 向服务器发出 AJAX 请求,但我真正想知道的是如何让 Angular 在每次我转到“#/”时调用方法 UnitsDetail()单位详情”。
谢谢!
【问题讨论】:
-
这只是一个疯狂的猜测,但它会不会是一些激进的浏览器缓存?
-
也许 Angular 只生成一次页面,其余时间只显示第一页。我在不同的浏览器中尝试过,它们都做同样的事情,但是我还没有找到任何关于如何防止这种情况发生的信息。
-
我正在尝试继续使用 ng-route 而不是 ui-route,而我看到的解决方案似乎只是使用 ui-route 来处理缓存。 ng-route有什么方法吗?谢谢
-
对不起,我对 Angular 的了解很浅,所以很抱歉帮不了你。
标签: javascript c# angularjs asp.net-mvc asp.net-mvc-5