【问题标题】:Angularjs routing not working with ASP.NET MVCAngularjs 路由不适用于 ASP.NET MVC
【发布时间】:2018-01-07 00:41:06
【问题描述】:

每当我单击指向局部视图的链接时(我希望它显示在标有“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>

这是我的 angularjs 路由脚本

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
    });
}]);

还有 MVC 控制器

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

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

编辑 1

它可以工作,但仅适用于 MVC 控制器名称。例如, .when('/Home'... 有效,但 .when('/Home/Index' ... 或 .when('/Index' ... 无效。

【问题讨论】:

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


    【解决方案1】:

    把链接改成:

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

    (在“href”开头添加“#!”)

    【讨论】:

      猜你喜欢
      • 2015-11-26
      • 1970-01-01
      • 1970-01-01
      • 2016-02-14
      • 1970-01-01
      • 2016-12-07
      • 2019-12-11
      • 2014-11-15
      • 2020-09-01
      相关资源
      最近更新 更多