web-dev-qa-db-ja.com

コントローラにアラートメッセージを表示する方法

データベースに値を挿入している1つのコントローラーを使用しています。値がデータベースに正常に挿入されたときに、コントローラーからのアラートメッセージを表示したい。出来ますか。はいの場合、どのように?

8
Saloni

基本的に、挿入が成功したかどうかを通知するメソッドが必要になるため、データベースに値を挿入する方法によって異なります。今それを行うにはいくつかの方法があるので、linq/entityframework/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
melaos

結果を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"]が実行されているかどうかを確認し、divはCSSを使用してフォーマットされ、jQueryコードを使用して5秒後に通知を非表示にしました。

よろしく、

ハスケ

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

以下のコードを追加して、ユーザーに通知することができます

Return Content("Data added successfully");
0
catdog01