【发布时间】:2018-01-03 11:09:09
【问题描述】:
我有一个使用服务器端 @foreaches 的 ASP.NET 视图,现在已替换为 AngularJS。
现在我使用ng-repeat="record in records",我不再使用@foreach。
与@record.Id 一起使用的实际代码现在不适用于{{record.id}}:
<td class="text-nowrap">
<a asp-controller="Records" asp-action="Edit" asp-route-id="{{record.id}}">Edit</a>
<a asp-controller="Records" asp-action="Details" asp-route-id="{{record.id}}">View</a>
<a asp-controller="Records" asp-action="Delete" asp-route-id="{{record.id}}">Delete</a>
</td>
显然,因为@record.Id 在服务器端...
现在,我看到的解决方案是设置类似
<a href="/Records/Edit/{{record.id}}"></a>
但是,如果控制器的路由发生变化,它可能会导致无处可去...有没有办法解决这个问题?
附言。
更多代码以便更好地理解:
<div ng-app="tablesApp" ng-controller="tablesController as tc">
<table>
<thead>
<tr>
<th>@Html.DisplayNameFor(model => model.Name)</th>
<th>@Html.DisplayNameFor(model => model.Description)</th>
<th></th>
</tr>
</thead>
<tbody>
<tr ng-repeat="record in records">
<td>{{record.name}}</td>
<td>{{record.description}}</td>
<td>
<a asp-controller="Records" asp-action="Edit" asp-route-id="{{record.id}}">Edit</a>
<a asp-controller="Records" asp-action="Details" asp-route-id="{{record.id}}">View</a>
<a asp-controller="Records" asp-action="Delete" asp-route-id="{{record.id}}">Delete</a>
</td>
</tr>
</tbody>
</table>
</div>
JS 控制器:
$http.get("/api/Records")
.then(function (response) {
tc.records = response.data;
}));
【问题讨论】:
标签: c# asp.net angularjs asp.net-core asp.net-core-1.1