无法将 .net 5 mvc 中的 jsonresult 中的两个参数返回到 ajax
Posted
技术标签:
【中文标题】无法将 .net 5 mvc 中的 jsonresult 中的两个参数返回到 ajax【英文标题】:failed to return two parameters from jsonresult in .net 5 mvc to ajax 【发布时间】:2022-01-04 22:38:24 【问题描述】:我在将 c#.net 5 中的返回 json 的两个参数结果返回到 ajax 时遇到问题。 ajax无法读取返回结果的地方
我有html代码
<button id="DELETE" onclick="ConfirmDelete(@item.Id)" class="btn btn-danger btn-sm">Delete</button>
jquery 代码
function ConfirmDelete(id)
Swal.fire(
icon:'question',
title: 'are you sure delete it?',
showCancelButton: true,
confirmButtonText: 'Ya',
confirmButtonColor: '#d33',
cancelButtonText: 'Tidak'
).then((result) =>
if (result.isConfirmed)
$.ajax(
type: 'POST',
url: '@Url.Content("Latihan/Delete")',
data: Id: id ,
dataType: "json",
success: function (data)
if (data.Isuccess == true)
Swal.fire(
icon: 'success',
title: 'Delete Success',
text: '',
confirmButtonText: 'Ok'
).then((result) =>
if (result.isConfirmed)
location.reload();
);
else
Swal.fire(
icon: 'error',
title: 'Error Found',
text: data,
confirmButtonText: 'Ok'
).then((result) =>
if (result.isConfirmed)
location.reload();
);
,
error: function (data)
Swal.fire(
icon: 'error',
title: 'Unknown Error',
text: 'Delete Failed',
confirmButtonText: 'Ok'
).then((result) =>
if (result.isConfirmed)
location.reload();
);
);
)
;
控制器
[HttpPost]
public async Task<JsonResult> Delete(int? id)
List<string> msgerror = new List<string>();
bool result = false;
try
if (id == null || id < 0)
msgerror.Add("Data cannot be null");
else
var LatihanDelete = await _context.TB_BIODATA.FirstOrDefaultAsync(e => e.Id == id);
if (LatihanDelete == null)
msgerror.Add("Data not found");
else
//_context.TB_BIODATA.Remove(LatihanDelete);
//await _context.SaveChangesAsync();
result = true;
catch (Exception e)
msgerror.Add("Error Exception : " + e.Message);
return Json(newIsuccess = result, MessageError = msgerror);
但是如果我只传递一个参数,那么在ajax中可以很好地读取返回结果
控制器
return Json("Success");
jquery 代码
success: function (data)
if (data == "Success")
Swal.fire(
icon: 'success',
title: 'Delete Success',
text: '',
confirmButtonText: 'Ok'
).then((result) =>
if (result.isConfirmed)
location.reload();
);
任何人都可以帮助为什么这是不同的,我应该解决什么?谢谢
【问题讨论】:
【参考方案1】:试试这个
return new JsonResult( new IsSuccess = result, MessageError = msgerror );
【讨论】:
以上是关于无法将 .net 5 mvc 中的 jsonresult 中的两个参数返回到 ajax的主要内容,如果未能解决你的问题,请参考以下文章
无法将 JSON 数据发送到 asp.net MVC 控制器中的另一个操作
将文件夹添加到 ASP.net MVC 5 站点中的所有 URL