2011-06-24 50 views
8

我正在使用一個控制器將值插入到數據庫中。當這些值成功插入數據庫時​​,我想顯示來自控制器的警報消息。 是否可能。如果是,那麼如何?如何在控制器中顯示警報消息

+0

你這是什麼意思警報?如在JavaScript瀏覽器警報('helo world');警報類型? – melaos

+1

是的,像警報('成功插入'); – Saloni

+0

你可以發佈你的當前代碼在控制器上嗎?你如何發佈數據到控制器?是否使用jquery post? –

回答

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> 
0

您可以添加以下代碼來告訴用戶

Return Content("Data added successfully"); 
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> 
@} 

我用這個方法在我的最後一個項目,以使服務器返回的信息不顯眼。在Master頁面中檢查ViewData [「Success」]或ViewData [「Failure」]是否完成,div使用CSS格式化,jQuery代碼用於在5秒後隱藏通知。

問候,

Huske

5
public ActionResult UploadPropertyImage() 
{ 
    // Business logic.... 
    return Content("<script language='javascript' type='text/javascript'>alert('Save Successfully');</script>"); 
} 
+1

通過添加js到視圖的內容控制器你打破封裝,視圖應該準備好接收警報。melaos的答案尊重封裝。 – Four

+0

但這更多的是個人喜好,我的意思是你應該遵循設計模式,但在某些情況下,它只是過度複雜化否則舉個例子,我只需要在一個地方完成這個任務,而且我們不會在我們的視圖中使用JavaScript,所以對於我的情況,這個解決方案正是我想要的,一種快速回復警報。 –

相關問題