asp mvc3を使い始めたとき、スクリプトをビューファイル(cshtml)に入れていました。私は次のようにそれを行っていました:各cshtmlファイルの下部にスクリプトを配置しました....そしてそれらのスクリプトのいくつかはTempDataを使用し、すべてが正常に機能します。
しかし、誰かが私に、スクリプトのコーディング方法をユーザーに見せることは悪い習慣だと言いました。彼らは、私がjsファイルを作成し、そこにすべてのスクリプトを配置する必要があり、次のように呼び出す必要があると言いました。
<script src="@Url.Content("~/Scripts/myOwnLocalScripts.js")" type="text/javascript"></script>.
だから私はそれをしましたが、私のスクリプトは今やTempDataやセッションCookieさえも読み取ることができないようです。スクリプトに次のような行があります。
var currentEmployee = '@System.Web.HttpContext.Current.Session["UserNumber"]';
$('.textBoxEmployeeNumber input[id="EmployeeId"]').val(currentEmployee);
ユーザー番号を表示することになっていますが、「System.Web.HttpContext.Current.Session["UserNumber"]」を文字列として表示しています...。
さらに、スクリプトには次のようなコードがあります。
if ('@TempData["successMessage"]' != "" || '@TempData["successMessage"]' != null) {
function newAlert(type, message) {
$("#alert-area").append($("<div class='alert alert-success " + type + " fade in' data-alert><p><b> " + message + " </b></p></div>"));
$(".alert-success").delay(4000).fadeOut("slow", function () { $(this).remove(); });
}
newAlert('success', '@TempData["successMessage"]');
}
Tempdata [successMessage]に値が含まれている場合にのみ表示されるはずですが、ページが読み込まれるたびに表示され続け、「@TempData["successMessage"]」が文字列として表示されます...
私のエラーは何でしょうか?