我从控制器发送两个值,保存在TempData中。但由于语法错误,无法在我的视图中比较它们。 的码
<script>
@{
var i = TempData["Book"];
var j= TempData["Surah"];
}
if (@i == "1")
{
alert("inside cond.!);
$('#book_selection').attr("disabled", "disabled");
$('#book_selection').selectedIndex = 1;
}
</script>
显示@i上的syntx错误。我试过@i.equals("1")
但没有区别......
答案 0 :(得分:1)
您可以放心地忽略Visual Studio中显示的语法错误。这些是Razor语法高亮显示中的错误。运行您的应用程序,它将正常工作。还要确保比较正确的类型。例如,如果您在TempData["Book"]
中存储的值是整数,那么您的测试应该是:
if (@i == 1) {
...
}
这就是说从动作向视图发送数据的正确方法是使用视图模型。不是TempData而不是ViewData而不是ViewBag。