Angularjs路由不适用于ASP.NET MVC

时间:2017-07-31 12:26:50

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

每当我点击指向部分视图的链接时(我希望它显示在带有' ng-view'标记的div内的同一页面上),将在新页面中打开部分视图。

这是我的索引页面(它在内部布局页面中呈现)。



<div ng-app="ProductsModule">
    <div>
        <div>
          <a href="addproductpartial" target="_self"> Add Product </a>
        </div>     
    <div>
      <div ng-view></div>
    </div>
</div>
&#13;
&#13;
&#13;

这是我的angularjs路由脚本

&#13;
&#13;
angular.module("ProductsModule", ['ngRoute', 'ngAnimate', 'ui.bootstrap'])
    .config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
    $routeProvider.when('/addproductpartial',
        {
            templateUrl: 'Home/AddProductPartial',
            controller: 'AddProductsController'
            });

    $locationProvider.html5Mode({
        enabled: true,
        requireBase: false
    });
}]);
&#13;
&#13;
&#13;

和MVC控制器

public class HomeController : Controller
{
    // GET: Home
    public ActionResult Index()
    {
        return View();
    }

    public ActionResult AddProductPartial()
    {
        return PartialView("AddProductPartial");
    }
}

编辑1

它的工作原理,但仅适用于MVC控制器名称。例如, .when(&#39; / Home&#39; ...有效,但是。(#39; / Home / Index&#39; ...或.when(&#39; / Index&#39; ..没有。

1 个答案:

答案 0 :(得分:0)

将链接更改为:

<a href="#!addproductpartial" target="_self"> Add Product </a>

(在'href'开头加上'#!')

相关问题