提问人:user17178396 提问时间:10/18/2021 最后编辑:marc_suser17178396 更新时间:10/18/2021 访问量:46
在 MVC VIEW 中使用 AngularJS/AJAX 呈现后端数据
Presenting backend data using AngularJS/AJAX in MVC VIEW
问:
所以我对 AngularJS 和 AJAX 非常陌生,但最近我接到了这个任务,我必须使用 AngularJS/AJAX 做 MVC 框架的 VIEW。但是在网上浏览了几个链接后,我找不到任何与在 MVC 框架中使用 AngularJS/AJAX 相关的资源。
所以我必须在控制器中执行 CRUD,现在我已经完成了并且能够在前端显示数据,但我不确定如何在 AngularJS/AJAX 中执行前端并显示我从控制器检索到的数据。有没有我可以关注的网站或链接?多谢
@model IEnumerable<WebApplication4.Models.PDAStatus>
@{
var result = (List<PDAStatus>)ViewData["MyData"];
}
<div class="row justify-content-center">
<div class="col-md-12">
<h2>View Outstanding PDA</h2>
<div class="panel">
<div class="panel-heading">
<div class="row">
<div class="col-md-12">
<a href="#" class="btn btn-sm btn-primary pull-left"><i class="fa fa-
plus-circle"></i>Add New</a>
</div>
</div>
</div>
<div class="panel-body table-responsive">
<div><table class="table">
<thead>
<tr>
<th scope="col">Action</th>
<th scope="col">Employee CardNo</th>
<th scope="col">Employee Name</th>
<th scope="col">PDA Barcode</th>
<th scope="col">Withdraw Date</th>
<th scope="col">Return Date</th>
<th scope="col">Due In</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
@if (item.IsReturn == false)
{
<tr>
<td>
<ul class="action-list">
<li><a asp-action="Update" asp-route-id="@item.Id"
class="btn btn-primary"><i class="fa fa-pencil"></i></a></li>
<li><a asp-action="Delete" asp-route-id="@item.Id"
class="btn btn-danger"><i class="fa fa-times"></i></a></li>
</ul>
</td>
<td>@item.EmployeeCardNo</td>
<td>@item.EmployeeName</td>
<td>@item.PDABarcode</td>
<td>@item.WithdrawDate</td>
<td>@item.ReturnDate</td>
<td>@(((int)(item.ReturnDate - DateTime.Now).TotalDays))
Days</td>
</tr>
}
}
</tbody>
</table></div>
</div>
</div>
</div>
</div>
答:
0赞
Zhi Lv
10/18/2021
#1
在 MVC VIEW 中使用 AngularJS/AJAX 呈现后端数据
在 MVC 视图中,要使用 angularjs 呈现后台数据,可以参考以下代码:
Index.csthml 页面:
@*Use a table to display the data.*@
<div ng-app="myApp" ng-controller="myCtrl">
<table class="table">
<thead>
<tr>
<th>
Id
</th>
<th>
Name
</th>
<th>
SelectedState
</th>
<th></th>
</tr>
</thead>
<tbody>
<tr ng-repeat="x in articles">
<td>{{ x.id }}</td>
<td>{{ x.name }}</td>
<td>{{ x.selectedState }}</td>
<td>button</td>
</tr>
</tbody>
</table>
</div>
@section Scripts{
@*add the angularjs reference*@
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function ($scope, $http) {
//call the action method to get all data, then assign the response data to the model.
$http.get("/Article/GetAllArticles").then(function (response) {
$scope.articles = response.data;
});
});
</script>
}
第三条 控制者动作方法:
public IActionResult GetAllArticles()
{ //query database to get all article with state.
var articles = new List<Article>(){
new Article() { Id = 1, Name = "A", SelectedState = "Open" },
new Article() { Id = 2, Name = "B", SelectedState = "Scheduled" },
new Article() { Id = 3, Name = "C", SelectedState = "Closed" },
};
return Json(articles);
}
结果如下:
有关使用 AngularJS 的更多详细信息,您可以参考本教程,并使用 AngularJS $http 或 Ajax 方法来调用操作方法并执行 CRUD 操作。
评论