Контроллер Asp.net MVC не вызывает после маршрутизации angularjs с правилом перезаписи - PullRequest
0 голосов
/ 24 марта 2019

Я создал проект asp.net mvc с маршрутизацией angularjs. когда проект запускается изначально, он проходит через метод действия home index. после этого, когда перенаправляется на другую страницу, выполняется угловая маршрутизация. но когда я перезагружаю страницу, я получаю ошибку 404 not found. для этого я добавил правило перезаписи в мой файл web.config. но после добавления, что все мои запросы http get / post на моем контроллере касались только домашнего индекса ни одна из услуг не попала в мою угловую службу. в чем тут подвох ??

это правило переписывания, которое я использую ...

  <rules>

    <rule name="angularjs routes"

            stopProcessing="true">

      <match url=".*" />

      <conditions logicalGrouping="MatchAll">

        <add input="{REQUEST_FILENAME}"

            matchType="IsFile" negate="true" />

        <add input="{REQUEST_FILENAME}"

            matchType="IsDirectory" negate="true" />

        <add input="{REQUEST_URI}"

            pattern="^/(api)" negate="true" />

      </conditions>

      <action type="Rewrite" url="/" />

    </rule>

  </rules>

</rewrite>

это мой угловой маршрут ....

var myApp = angular.module("myApp", ["ngRoute"])
.config(function ($routeProvider, $locationProvider) {
    $locationProvider.html5Mode(true);
    $routeProvider.when("/st", {
        templateUrl: "app/view/students.html"
    });
    $routeProvider.otherwise({
        redirectTo: "/"
    });
});
...