菜单单击后使用MVC视图未刷新(使用angularjs)

时间:2016-08-26 15:06:36

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

我有一个MVC网站,其中一些页面使用角度筒仓模式使用角度。

如果我导航到非角度页面,路由工作正常,将我带到控制器然后再查看。但是,如果再次点击同一个菜单项,那么一旦在该页面上,我就不像以前那样被路由到控制器方法,没有任何反应。

我不知道这是否是默认行为,我没有注意到,缓存问题,或者使用angular已经改变了什么。

是否有人遇到此问题,如何再次点击菜单以路由到控制器

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

<li>
<a href="/Monitoring/Dashboard" id="MonitoringSubmenu" target="">Monitoring</a>
</li>

2 个答案:

答案 0 :(得分:0)

我相信这是angular的默认行为。

然而,有一种解决方法。您可以使用ng-click更改路由并确保每次都调用控制器方法,即使您在同一页面上也是如此:

 <a ng-click="changeRouteToDashboard()" id="MonitoringSubmenu" target="">Monitoring</a>

并在您的控制器中:

function changeRouteToDashboard(){
    $location.path('/Monitoring/Dashboard')
}

答案 1 :(得分:0)

Jahongir Rahmonov的答案不正确,因为页面不是一个有角度的页面,但是调用一个调用控制器的javascript函数确实解决了问题,所以非常感谢下面是代码

<a onclick="changeRouteToDashboard()" href="" id="MonitoringSubmenu" target="">Monitoring</a>

function changeRouteToDashboard(){
    window.location.href = "/Monitoring/Dashboard"
}