jquery - MVC : Need to pass an list or array of strings from controller to view

标签 jquery asp.net-mvc-3

我需要在 mvc 页面的脚本部分填充一个对象,当前该对象如下所示:

<script>
var disabledDays = ["9-30-2011","2-24-2010","2-27-2010","2-28-2010","3-3-2010","3-17-2010","4-2-2010","4-3-2010","4-4-2010","4-5-2010"];

现在我尝试将 DateTime 对象数组从 Controller 传递到 View ,但在执行此操作之前将其转换为字符串。像这样的事情:

<Controller>
var blockedDates = new List<string>();
            foreach (DateTime closeDate in dealershipInfo.ClosedDates)
                blockedDates.Add(closeDate.ToString());
            ViewBag.BlockedDates = blockedDates;

但它绝对不适合我。实现这种结果的正确方法是什么。

最佳答案

public ActionResult Index()
{
    var blockedDates = dealershipInfo.ClosedDates.Select(x => x.ToString()).ToList();
    return View(blockedDates);
}

在 View 中:

@model IEnumerable<string>
...
<script type="text/javascript">
    var disabledDays = @Html.Raw(Json.Encode(Model));
</script>

关于jquery - MVC : Need to pass an list or array of strings from controller to view,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7587166/

相关文章:

javascript - 正则表达式在表中查找带括号的单词

asp.net-mvc-3 - 在代码MVC Razor中渲染部分 View

c# - JQuery 无法识别点击表行

javascript - 获取 OSRM 路由的 JSON

asp.net - 使用 Razor View Engine 将内容从部分 View ASP.NET MVC 3 注入(inject)特定部分

javascript - ASP.Net MVC jQuery 和插件加载顺序错误

.net - RouteTable.Routes.MapHubs() 仅在 Windows Azure 模拟器中抛出 ArgumentNullException。为什么?

javascript - 函数仅在刷新页面时执行,而不是在首次加载时执行

jquery - 在 jQuery 对话框中隐藏标题栏并显示关闭按钮

javascript - 我无法访问 DOM