使用AngularJS/MVC5实现列表页搜索
Implementing search on List page using with AngularJS/MVC5
我正在尝试在列表页面上实现搜索。
以下代码适用于将数据显示为列表,但我不确定如何开始在该页面上实现搜索功能。
HTML:
<body ng-app="myApp">
<div ng-controller="empCtrl" class="container">
<div>
<input type="text" ng-model="search_filter" placeholder="Search" />
</div>
<div class="container" infinite-scroll="pagedata()">
<div>
<div>
Id
</div>
<div>
Name
</div>
<div>
Description
</div>
</div>
<div ng-repeat="emp in emps | filter: search_filter"> //<<<<
<div class="column fifth">
{{emp.Id}}
</div>
<div class="column fifth">
{{emp.Name}}
</div>
<div class="column fifth">
{{emp.Description}}
</div>
</div>
</div>
</div>
</body>
MVC控制器:
public ActionResult Employee()
{
var model = new EmployeeViewModel();
var employees = GetEmployees();
model.EmployeeList = employees;
return View("List", model);
}
角度:
myApp.controller('empCtrl', function ($scope, $http, $window) {
$scope.employees = $window.EmployeeViewModel;
$scope.pagedata = function () {
$http.get($scope.getBaseUrl()).success(function (data) {
});
}
});
由于您对服务器端搜索感兴趣,因此需要稍微改变一下方法。
您现在正在检索的数据将在检索页面时填充。我建议将其移动到一个单独的Action或WebAPI控制器,如下所示:
[HttpGet]
public ActionResult List(string text)
{
var employees = GetEmployeesByText(text);
return Json(employees, JsonRequestBehavior.AllowGet);
}
我认为您将使用必要的功能来实现GetEmployeesByText
。
然后在角度控制器中获取数据:
myApp.controller('empCtrl', function ($scope, $http) {
$scope.employees = null;
$scope.search_filter = null;
$scope.getEmployees = function(text){
$http.get('/Employee/List?text=' + $scope.search_filter)
.success(function(data){
$scope.employees = data;
});
};
$scope.getEmployees();
});
最后:
<body ng-app="myApp">
<div ng-controller="empCtrl" class="container">
<div>
<input type="text" ng-model="search_filter" placeholder="Search" ng-change="getEmployees()" />
</div>
<div class="container">
<div>
<div>
Id
</div>
<div>
Name
</div>
<div>
Description
</div>
</div>
<div ng-repeat="emp in employees">
<div class="column fifth">
{{emp.Id}}
</div>
<div class="column fifth">
{{emp.Name}}
</div>
<div class="column fifth">
{{emp.Description}}
</div>
</div>
</div>
</div>
</body>
相关文章:
- 在javascript中搜索项目列表的性能
- 如何在剑道下拉列表中按文本和值搜索
- 为非列表项目创建HTML实时搜索
- 在元素列表中搜索给定字符串
- 在字符串列表中搜索任何出现的单词,如果单词的第一个字符匹配,则高亮匹配单词.Javascript正则表达式
- 从下拉列表中搜索并建议关键字
- 使自动完成可搜索下拉菜单don'我不想在点击搜索时显示列表
- 返回谷歌搜索的网址列表
- 如何创建一个脚本,该脚本给定网站列表,它使用其搜索功能来获取信息
- 如何将从谷歌自定义搜索API获取的数据放入复选框列表
- 以有效的方式搜索对象列表 mongo
- 如何在 jQuery 中显示“未找到结果”列表搜索
- select2v4用于实时搜索-可以从下拉列表中选择或提交关键字
- 为了在列表中搜索,角度过滤器有问题
- JQuery在链接的静态页面中搜索,突出显示找到的单词,而不破坏列表
- 用于在列表中进行多重搜索的正则表达式,用逗号分隔
- JavaScript 表按下拉列表搜索
- Javascript - 更快的功能:线性列表搜索或获取对象值
- 多个下拉列表搜索替换字符串
- 使用下拉列表搜索元素