Angularjs 为什么我的<;a>;taghelper路线在其路线被表单邮局使用后是否会失效?

Angularjs 为什么我的<;a>;taghelper路线在其路线被表单邮局使用后是否会失效?,angularjs,asp.net-core-mvc,Angularjs,Asp.net Core Mvc,这是一个ASP.Net核心MVC项目。 在我的布局文件中,我有以下菜单链接: <li><a asp-controller="Employees" asp-action="Index">Employees</a></li> 当我单击链接时,会点击操作,并使用我的员工列表视图呈现视图。 Employee List视图绑定到Angular控制器,该控制器调用相应的Employee Web API GET,该视图显示未筛选的my Employee Lis

这是一个ASP.Net核心MVC项目。 在我的布局文件中,我有以下菜单链接:

<li><a asp-controller="Employees" asp-action="Index">Employees</a></li>
当我单击链接时,会点击操作,并使用我的员工列表视图呈现视图。 Employee List视图绑定到Angular控制器,该控制器调用相应的Employee Web API GET,该视图显示未筛选的my Employee List。 太好了

现在,我们需要从快速搜索面板进行员工快速搜索。 因此,我修改了我的MVC员工控制器,如下所示:

public IActionResult Index()
{
    return View();
}
 public IActionResult Index(EmployeeListPageViewModel empListPageVM)
 {
     return View(empListPageVM);
 }
它采用了这种模式:

public class EmployeeListPageViewModel
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}
我的快速搜索表单在布局文件中如下所示:

<form asp-controller="Employees" asp-action="Index">
    <th>Employee Search:</th>
    <td><input id="firstName" name="firstName" type="text" placeholder="FirstName" /></td>
    <td><input id="lastName" name="lastName" type="text" placeholder="LastName" /></td>
     <td>
         <button class="btn btn-xs btn-primary glyphicon glyphicon-search">
         </button>
     </td>
</form>
绑定到角度控制器:

ng-controller="employeesController
致电getEmployees:

ng-init="getEmployees('@Model.FirstName', '@Model.LastName')
角度控制器确定所有内容是否为空或是否需要过滤:

/***** List Employees *****/
$scope.getEmployees = function (pfirstName, pLastName) {

    var config = {
        params: {
            firstName: pfirstName,
            lastName: pLastName
        }
    }

    $http.get(employeeUrl, config)
    .then(function (response) {
        // Test front end exception message;
        // throw "test exception";
        $scope.data.employees = response.data;
    })
    .catch(function (error) {
            $scope.data.employeeListError = error;
    });
}
希望所有这些都有意义。只是在这里打基础。 现在我的问题是: 每件事似乎都是单独进行的

但是,当我进入fresh并单击Employees菜单链接时,我会得到完整的列表。 当我在快速搜索中填写FirstName和/或LastName时,它就起作用了。 但现在员工菜单链接已经失效。它不会开火。它不会影响员工索引控制器操作

是什么让表单终止了菜单链接


更新1:考虑到这一点后,我相信锚定标记帮助器正在查看控制器和索引,并说:“我已经在那里了。”因此它不会执行控制器操作。即使它已经存在,我如何强迫它去呢


更新2:我尝试更改此链接:

<li><a href="/Employees">Employees</a></li>

  • 该链接起作用,但在表单发布后仍会被删除。

    显然,无论您如何指向该链接、taghelper、ng href、straight链接,无论什么,如果您已经在那里,该链接都不会被删除

    我必须用以下内容替换菜单中的锚定链接:

    <li>
        <form asp-controller="Employees" asp-action="Index">
            <button type="submit" class="navbarLinks">
                Employees
            </button>
       </form>
    
  • 员工
  • <li>
        <form asp-controller="Employees" asp-action="Index">
            <button type="submit" class="navbarLinks">
                Employees
            </button>
       </form>