これは私のスクリプトです:
<%
if (TempData["Resultat"] != null){
%>
<script type="text/javascript">
alert('<%: TempData["Resultat"]%>');
</script>
<%
}
%>
この場合、ページがロードされる前にポップアップが表示されますが、ページが完全にロードされた後にポップアップが表示されます。 Htmlでは、次のようになります。
<body onload="happycode() ;">
しかし、MVCでは使用できません。すべてのWebアプリケーションに対して1つのマスターページがあります。
Jqueryを使用できる場合は、$(document).ready()
関数内にアラートを配置できます。次のようになります。
<script>
$(document).ready(function(){
alert('<%: TempData["Resultat"]%>');
});
</script>
JQueryを含めるには、コードの<head>
タグに次を含めます。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
JsFiddleの簡単な例を次に示します。 http://jsfiddle.net/ChaseWest/3AaAx/
3つの方法があります。
最初の方法は、ページの下部にスクリプトタグを配置することです。
<body>
<!--Body content-->
<script type="text/javascript">
alert('<%: TempData["Resultat"]%>');
</script>
</body>
2番目の方法は、onloadイベントを作成することです。
<head>
<script type="text/javascript">
window.onload = function(){//window.addEventListener('load',function(){...}); (for Netscape) and window.attachEvent('onload',function(){...}); (for IE and Opera) also work
alert('<%: TempData["Resultat"]%>');
}
</script>
</head>
ウィンドウがロードされると、関数を実行します。
最後に、3番目の方法はreadystatechange
イベントを作成し、現在のdocument.readystateを確認することです。
<head>
<script type="text/javascript">
document.onreadystatechange = function(){//window.addEventListener('readystatechange',function(){...}); (for Netscape) and window.attachEvent('onreadystatechange',function(){...}); (for IE and Opera) also work
if(document.readyState=='loaded' || document.readyState=='complete')
alert('<%: TempData["Resultat"]%>');
}
</script>
</head>
MVCで使用できないのはなぜですか?
Body loadメソッドを使用する代わりに、jQueryを使用して、ドキュメントのonready関数が完了するのを待ちます。
JQueryを使用してドキュメント準備イベントを処理すると、
<script type="text/javascript">
function onLoadAlert() {
alert('<%: TempData["Resultat"]%>');
}
$(document).ready(onLoadAlert);
</script>
または、さらに簡単-<script>
は、body
ではなく、head
の末尾にあります。
$(window).on('load', function () {
alert('Alert after page load');
}
});
PageLoad
イベントに以下のコードを追加します。
ScriptManager.RegisterStartupScript(Page, this.GetType(), "myScript", "alert('OK Done.');", true);