JQuery中的ViewBag

时间:2012-10-15 10:41:14

标签: asp.net-mvc viewbag

我使用ViewBag值如下:

var date = "@ViewBag.fromDateForEditMode"
$('#FromDate').val(date);  

我得到的只是@ViewBag.fromDateForEditMode,没有任何价值。

2 个答案:

答案 0 :(得分:3)

当MVC呈现HTML文件时,Razor引擎不会执行,因此不会解析@ViewBag.fromDateForEditMode并将其替换为ViewBag属性值:)

答案 1 :(得分:-1)

您遇到的问题是您试图将@ ViewBag.fromDateForEditMode括在引号中。当您在jquery函数中执行此操作时,这会导致浏览器jquery处理器在调用脚本时将其评估为文字字符串,而不是允许您的剃刀引擎在加载页面时评估ViewBag内容。 / p>

要解决此问题,请使用:

var startDate = new Date(@ ViewBag.StartDate.Year.ToString(),@ ViewBag.StartDate.Month.ToString()-1,@ ViewBag.StartDate.Day.ToString());

这将允许剃刀引擎在执行jquery脚本之前评估ViewBag内容。