C# 如何使用Javascript在MVC中显示成功或错误消息?
我想知道在我的MVC项目中,如何在控制器操作成功或失败时显示成功或错误消息。例如,我得到了以下操作: 输入: 将数据发送到控制器的Javascript方法: 控制器方法: 如果AddUser方法将用户添加到我的数据库中,我想显示一条错误消息,如果没有添加用户,我想显示一条错误消息。我不知道如何做到这一点,有什么建议吗 提前谢谢 更新 因此,警报可以工作,但POST调用收到以下内部服务器错误:C# 如何使用Javascript在MVC中显示成功或错误消息?,c#,asp.net,twitter-bootstrap,model-view-controller,error-handling,C#,Asp.net,Twitter Bootstrap,Model View Controller,Error Handling,我想知道在我的MVC项目中,如何在控制器操作成功或失败时显示成功或错误消息。例如,我得到了以下操作: 输入: 将数据发送到控制器的Javascript方法: 控制器方法: 如果AddUser方法将用户添加到我的数据库中,我想显示一条错误消息,如果没有添加用户,我想显示一条错误消息。我不知道如何做到这一点,有什么建议吗 提前谢谢 更新 因此,警报可以工作,但POST调用收到以下内部服务器错误: 首先,您需要更新ajax以使用成功或失败 $.ajax({ type:
首先,您需要更新ajax以使用成功或失败
$.ajax({
type: 'POST',
url: "/ApiBroker/AddApi",
data: datastring,
dataType: 'json',
success:
function(data){
//... put your logic here
},
error:
function(){ alert('error'); }
});
其次,您需要更新控制器操作以返回IHttpActionResult,您可以在其中指定响应消息
如果你看这个
您可以使用ViewBag、TempData,甚至,因为您使用的是ajax post,所以您可以返回一个字符串并向用户显示该字符串。不知何故,这段代码会给我一个警报错误,但数据会添加到我的数据库中。不过,成功/错误并不总是必要的。主要取决于您所使用的方法的返回calling@JamesS是的,没有必要,但正如OP所说的,他需要知道状态。@Nielstenden我忘记了将数据类型添加到Ajax调用中,哪里会出现错误?请发布您的代码。@Nielstenden我将使用以下代码作为ajax请求中的URL:URL:'@URL.ActionACTION,CONTROLLER',该错误表示MVC正在搜索,无法找到控制器/操作。如果URL不起作用,您可以发布完整的控制器代码吗。还可以使用[HttpPost]装饰您的方法
[HttpPost]
public ActionResult AddApi(ApiRedirect model)
{
var data = model;
try
{
List<ApiRedirect> list = dbProducts.ApiRedirects.ToList();
int companyID = dbProducts.Companies.Where(x => x.CompanyName == model.Company.CompanyName).FirstOrDefault().CompanyID;
int mappingID = dbProducts.MappingNames.Where(x => x.Name == model.MappingName.Name).FirstOrDefault().MappingID;
ApiRedirect api = new ApiRedirect();
api.ApiName = model.ApiName;
api.CompanyID = companyID;
api.ApiURL2 = model.ApiURL2;
api.MappingID = mappingID;
api.ResponseType = model.ResponseType;
dbProducts.ApiRedirects.Add(api);
dbProducts.SaveChanges();
return View ();
}
catch (Exception ex){
throw ex;
}
}
$.ajax({
type: 'POST',
url: "/ApiBroker/AddApi",
data: datastring,
dataType: 'json',
success:
function(data){
//... put your logic here
},
error:
function(){ alert('error'); }
});