【发布时间】:2020-08-28 20:26:51
【问题描述】:
我需要向用户添加一条警告消息,因此如果他们尝试插入会议 ID == 0 的记录,则会返回一条消息让他们知道。
我当前保存数据的 AngularJS 代码,在 C# 中调用 ImportData 方法
// Save data to sql database
$scope.SaveData = function (excelData) {
$http({
method: "POST",
url: "/Home/ImportData",
data: JSON.stringify(excelData),
headers: {
'Content-Type': 'application/json'
}
}).then(function (data) {
if (data.status) {
$scope.Message = excelData.length + " Record Successfully Inserted";
$scope.GetData();
}
else {
$scope.Message = "Failed";
}
}, function (error) {
$scope.Message = "Error";
});
};
C#代码:
[HttpPost]
public ActionResult ImportData (List<Meeting_WIP> meeting) {
bool status = false;
try {
if (ModelState.IsValid) {
using (MeetingEntities db = new MeetingEntities ()) {
foreach (var i in meeting) {
if (i.MeetingID == 0) {
throw new ArgumentException ("Meeting ID cannot be null or empty string", i.MeetingID.ToString ());
} else {
var compositeKey = db.Meeting_WIP.Find (i.MeetingID, i.AgendaItem);
if (compositeKey == null) {
// Meeting ID does not exist in database it is a new one
db.Meeting_WIP.Add (i);
} else {
// Meeting ID already exist in database just update record
db.Entry (compositeKey).CurrentValues.SetValues (i.MeetingID);
db.Entry (compositeKey).State = EntityState.Modified;
}
}
}
db.SaveChanges ();
status = true;
}
}
} catch (Exception ex) {
ExceptionLogging.SendErrorToText (ex);
}
return new JsonResult { Data = new { status = status } };
}
目前即使 excel 数据文件包含会议 ID == 0,显示的消息是:
$scope.Message = excelData.length + " Record Successfully Inserted";
当会议 ID == 0 时如何告诉 Angular 代码,然后返回错误并显示如下内容:
"Meeting ID cannot be zero/null"
angularjs代码调试截图
【问题讨论】:
标签: javascript angularjs asp.net-mvc error-handling