当我开始与 asp mvc3 合作时, 我把我的脚本放进我的视图文件(cshtml) 。 我这样做的时候: 在每个 cshtml 文件的底部, 我把我的脚本,... 。 其中一些脚本使用TempData, 一切都很好。
但后来有人告诉我,这是让用户看到我如何编码我的脚本的坏习惯。 他们说,我应该建立一个 Js 文件,把所有的脚本放进去,我应该这样称呼他们:
<script src="@Url.Content("~/Scripts/myOwnLocalScripts.js")" type="text/javascript"></script>.
但我的脚本现在似乎无法阅读TempData甚至会话曲奇。
var currentEmployee = @System.Web.HttpContext.Current.Session["UserNumber"] ;
$( .textBoxEmployeeNumber input[id="EmployeeId"] ).val(currentEmployee);
它应该显示一个用户编号, 但是它作为一个字符串显示“ system. Web. HttpContext.
此外,我的剧本里也有这样的代码:
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 [sessMessage] 包含一个值时, 它才应该显示, 但是它每次每次显示页面加载时都会显示, 并且它作为字符串显示@ TemmpData [“sessMessage ”...
我的错误是什么?