无法将ID从blazor视图传递给Asp.Net MVC应用程序的控制器
我试图删除一个值,这是采取从数据库,但我无法删除它的id是来的视图,我可以能够列出这些值也,但当我试图删除id是不是从视图传递到控制器,以下是代码我已经使用
@using Microsoft.AspNetCore.Components
@inject System.Net.Http.HttpClient HttpClient
<h3>DesignationList</h3>
<table class="table">
<thead>
<tr>
<th>
NumericId
</th>
<th>
Name
</th>
<th>
Slug
</th>
<th>
Status
</th>
<th>
Action
</th>
</tr>
</thead>
<tbody>
@foreach (var item in Designation)
{
<tr>
<td>
@item.NumericId
</td>
<td>
@item.Name
</td>
<td>
@item.Slug
</td>
<td>
@item.Status
</td>
<td>
<a href="Delete" asp-action="Delete" asp-route-
id="@item.Id" asp-controller="Designation">
</td>
</tr>
}
</tbody>
</table>
@code {[Parameter] public
IEnumerable<Global.Light.Time.Models.Designation> Designation {
get; set; } }
//Controller
public ActionResult Delete(Guid id)
{
var dynamicObj = new
DesignationRepository().Read(id);
var retval = dynamicObj.Designation[0];
return View(retval);
}
// POST: DesignationController/Delete/5
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Delete(Guid id, Designation
lookupDesignation)
{
try
{
var eleDelete = new DesignationRepository().Delete(id);
return RedirectToAction(nameof(Index));
}
catch (Exception ex)
{
return View();
}
}
}
请帮我找到一个解决方案,谢谢!
1条答案
按热度按时间9jyewag01#
您正在控制器方法上使用
ValidateAntiForgeryToken
属性来执行防伪令牌验证,但您尚未提供任何防伪令牌。您需要使用表单而不是链接来发回令牌。尝试使用类似下面的方法,将“ControlerName”与控制器的名称交换。