在我的页面上,我使用 jquery 对我的服务器进行了多次调用。我想显示一个结果 div,其中将显示有关成功/失败的信息,例如带有成功信息的绿色 div 和带有失败信息的红色 div。这个 div 应该会看到 1-2 秒并自动消失。为此,我创建了一个 viewModel:
public class ResultMessageViewModel
{
public ResultMessageKind KindOfMessage {get;set;}
public string Content {get;set;}
}
在我的控制器操作中,我返回 PartialView 如下:
return PartialView("ResultMessagePartial", new ResultMessageViewModel() { KindOfMessage= ResultMessageKind.Success", Content="Operation finished successfully"});
我的 ajax 调用是这样的:
$(function () {
$(document).on("click", "#AnswerTheQuestion", function (e) {
e.preventDefault();
var answerContent = $("#AnswerContent").val();
var messageId = $(this).parent().children("#rootMessageId:first").val();
$.ajax({
url: this.href,
type: 'GET',
data: { rootMessageId: messageId, content: answerContent },
cache: false,
success: function (result) {
//show success result div
},
error: function () {
//show failure result div
}
});
});
我的问题是:我怎样才能实现我的结果 div 将在成功/错误处理程序中自动显示特定时间(如 1-2 秒)的功能?这将是对用户进程是否成功完成的某种通知。我想尽可能多地保留 DRY 原则来实现这样的功能。