如何在控制器中显示警报消息

时间:2011-06-24 05:12:42

标签: asp.net-mvc model-view-controller asp.net-mvc-2

我正在使用一个在数据库中插入值的控制器。我想在值成功插入数据库时​​显示来自控制器的警报消息。 可能吗。如果是,那么如何?

4 个答案:

答案 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");