以下のソリューションの代わりにrequirejsを使用するようにプロジェクトを変換しようとしています。現在、次のようなタグの前に、ページの下部にあるすべてのスクリプト (modernizr を除く) を含むレイアウト ページがあります。
<head>
<script src="@Links.Assets.Scripts.Libraries.modernizr_2_6_2_js"></script>
</head>
<body>
<!-- Page content goes here -->
@RenderSection("PreScripts", false)
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="@Links.Assets.Scripts.Libraries.jquery_1_9_1_min_js"><\/script>')</script>
<script src="@Links.Assets.Scripts.Libraries.jquery_namespace_js"></script>
<script src="@Links.Assets.Scripts.Libraries.jquery_unobtrusive_ajax_js"></script>
<script src="@Links.Assets.Scripts.Libraries.jquery_validate_js"></script>
<script src="@Links.Assets.Scripts.Libraries.jquery_validate_unobtrusive_js"></script>
<script src="@Links.Assets.Scripts.Libraries.jquery_timeago_js"></script>
<script src="@Links.Assets.Scripts.Libraries.toastr_js"></script>
<script src="@Links.Assets.Scripts.Views.Shared._master_js"></script>
@RenderSection("PostScripts", false)
@{
var errorMessage = TempData[TempDataConstants.ErrorMessage] as string;
var infoMessage = TempData[TempDataConstants.InfoMessage] as string;
var successMessage = TempData[TempDataConstants.SuccessMessage] as string;
if (!string.IsNullOrEmpty(errorMessage)) {
<script>
var origTimeOut = toastr.options.timeOut;
toastr.options.timeOut = 0;
toastr.error(@Html.Raw(Json.Encode(errorMessage)));
toastr.options.timeOut = origTimeOut;
</script>
}
if (!string.IsNullOrEmpty(successMessage)) {
<script>
var origTimeOut = toastr.options.timeOut;
toastr.options.timeOut = 0;
toastr.success(@Html.Raw(Json.Encode(successMessage)));
toastr.options.timeOut = origTimeOut;
</script>
}
if (!string.IsNullOrEmpty(infoMessage)) {
<script>
var origTimeOut = toastr.options.timeOut;
toastr.options.timeOut = 0;
toastr.info(@Html.Raw(Json.Encode(infoMessage)));
toastr.options.timeOut = origTimeOut;
</script>
}
}
</body>
このレイアウト ページを使用する個々のページで、PostScripts セクションに入力します。
@section PostScripts {
// Javascript that belongs to a single page goes here.
}
問題
私はこの例に従いましたが、クライアントで toastr メッセージをポップアップするために null でないかどうかを確認するために、サーバーで TempData をチェックしている場所がわかります。これを行うための最良の方法が本当にわからず、多くのことを試しました。何かアイデアはありますか?