【发布时间】:2019-12-12 08:23:51
【问题描述】:
从列表中删除项目后,我的控制器没有返回列表,在浏览器中它会抛出此错误
找不到此本地主机页面。 没有找到该网址的网页:https://localhost:44384/RaidRequests/IndexAsync
这开始了,然后我添加了分页,我处理了我的视图的所有其他问题,但删除不起作用。
这是我在控制器中的删除功能:
public async Task<IActionResult> DeleteConfirmed(int? id)
{
var raidRequest = await _context.RaidRequest.FindAsync(id);
_context.RaidRequest.Remove(raidRequest);
await _context.SaveChangesAsync();
return RedirectToAction(nameof(IndexAsync));
}
我的索引看起来像这样:
public async Task<ViewResult> IndexAsync(string sortOrder, string currentFilter, string searchString, int? page)
{
ViewBag.CurrentSort = sortOrder;
ViewBag.NameSurnameSortParm = sortOrder == "NameSurname" ? "NameSurname_desc" : "NameSurname";
ViewBag.ReasonSortParm = sortOrder == "Reason" ? "Reason_desc" : "Reason";
ViewBag.AccessSortParm = sortOrder == "Access" ? "Access_desc" : "Access";
ViewBag.UserOrAdminSortParm = sortOrder == "UserOrAdmin" ? "UserOrAdmin_desc" : "UserOrAdmin";
ViewBag.DepartmentSortParm = sortOrder == "Department" ? "Department_desc" : "Department";
ViewBag.UNCPathSortParm = sortOrder == "UNCPath" ? "UNCPath_desc" : "UNCPath";
if (searchString != null)
{
page = 1;
}
else
{
searchString = currentFilter;
}
ViewBag.CurrentFilter = searchString;
var request = from c in _context.RaidRequest
select c;
if (!String.IsNullOrEmpty(searchString))
{
request = request.Where(s => s.NameSurname.Contains(searchString));
}
request = sortOrder switch
{
"NameSurname_desc" => request.OrderByDescending(c => c.NameSurname),
"Reason" => request.OrderBy(c => c.Reason),
"Reason_desc" => request.OrderByDescending(c => c.Reason),
"Access" => request.OrderBy(c => c.Access),
"Access_desc" => request.OrderByDescending(c => c.Access),
"UserOrAdmin" => request.OrderBy(c => c.UserOrAdmin),
"UserOrAdmin_desc" => request.OrderByDescending(c => c.UserOrAdmin),
"Department" => request.OrderBy(c => c.Department),
"Department_desc" => request.OrderByDescending(c => c.Department),
"UNCPath" => request.OrderBy(c => c.UNCPath),
"UNCPath_desc" => request.OrderByDescending(c => c.UNCPath),
_ => request.OrderBy(c => c.Id),
};
int pageSize = 10;
int pageNumber = (page ?? 1);
return View(await PaginatedList<RaidRequest>.CreateAsync(request, page ?? 1, pageSize));
}
我认为问题出在退货部分。 我需要在那里写什么才能成功返回列表?
【问题讨论】:
标签: c# html asp.net asp.net-mvc model-view-controller