4

我使用ViewBag的值如下:

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

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

4

2 回答 2

3

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

于 2012-10-15T11:58:05.730 回答
-1

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

要解决此问题,请使用:

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

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

于 2015-09-28T20:03:46.813 回答