我正在使用一个在数据库中插入值的控制器。我想在值成功插入数据库时显示来自控制器的警报消息。 可能吗。如果是,那么如何?
答案 0 :(得分:18)
您可以将结果添加到ViewData。例如:
if (SaveToDbOK)
{
ViewData["Success"] = "Data was saved successfully.";
// Do other things or return view
}
在您的视图中,您可以放置在任何地方:
MVC2:
<% if (ViewData["Success"] != null) { %> <div id="successMessage"> <%: ViewData["Success"] %> </div> <% } %>
MVC3:
@if (ViewData["Success"] != null) { <div id="successMessage"> @ViewData["Success"] </div> @}
我在上一个项目中使用了这种方法,以便从服务器返回的信息不引人注目。检查ViewData [“Success”]或ViewData [“Failure”]是否在Master页面中完成,div使用CSS格式化,jQuery代码用于在5秒后隐藏通知。
此致
Huske
答案 1 :(得分:5)
public ActionResult UploadPropertyImage()
{
// Business logic....
return Content("<script language='javascript' type='text/javascript'>alert('Save Successfully');</script>");
}
答案 2 :(得分:3)
基本上,这取决于您如何将值插入数据库,因为您需要一种方法来告诉您插入是否成功。因为现在有几种方法可以做到,linq / entity framework / sql / etc.
然后在您知道插入是否发生后,您可以只为变量赋值,然后从代码/ aspx中检查值并进行简单警报。
<script type="text/javascript">
//i'm using jquery ready event which will call the javascript chunk after the page has completed loading
$(document).ready(function(){
//assuming that your variable name from the code behind is bInsertSuccess
var bSuccess = "<%= bInsertSuccess %>";
if(bSuccess){
alert("Successfully Inserted");
}
});
</script>
答案 3 :(得分:0)
您可以添加以下代码告诉用户
Return Content("Data added successfully");