我已经创建了一个ASP.NET MVC应用程序。我们有一个列表,显示当前数据库中的所有项目。我们还有一个按钮,显示一个弹出对话框,您可以在其中创建另一个条目。我们希望在创建时将此项添加到列表中。现在我的问题是,以下哪种方法更适合:
手动(通过javascript)将项目添加到列表中。我担心的是,感觉安静的hacky /不是很好的练习。
重新加载页面,以便从数据库重新加载所有条目。
在性能和“良好做法”方面,哪种方法更适合此目的(我应该提一下,该列表将会徘徊在100-200项左右)
提前致谢!
答案 0 :(得分:2)
您可以对服务器进行回调,并且在该回调成功后,您可以继续在列表中添加该新项目。无需刷新整个页面。
这样的事情(取自here):
$.ajax({ url: '/Controller/Action/Id',
success: function(data) { alert(data); },
statusCode : {
404: function(content) { alert('cannot find resource'); },
500: function(content) { alert('internal server error'); }
},
error: function(req, status, errorObj) {
// handle status === "timeout"
// handle other errors
}
});
答案 1 :(得分:0)
我会异步重新加载列表。根据它的编码方式,可以通过服务器端代码或通过javascript ajax调用来完成。
答案 2 :(得分:0)
我首先要提交表单并重新加载页面。
您可以添加使用ajax提交表单的功能,然后如果表单通过并验证并返回成功消息,则通过javascript将新项目添加到列表中。
这样,如果有人禁用javascript,他们仍然可以提交表单,但他们只是刷新页面。或者,如果ajax调用失败,您仍然可以使用页面刷新。