大家早上好,
我的 View 中有一个 javascript 变量。我一直这样做...
var skinData = null;
然后在 document.ready 上......
$.ajax({
type: 'POST',
url: 'theme/getskins',
data: {},
contentType: 'application/json; charset=utf-8',
success: function(data){
skinData = data;
}
});
我的问题是为什么我要在 View 加载后执行此操作。我正在尝试在 _ViewStart.cshtml 中执行此操作
viewPage.ViewBag.SkinInfo = new JsonResult { Data = SkinManager.GetSkins() };
如何获取该值并将其值输出到我的 javascript 变量。当我真的想在第一次旅行时将其推送给客户时,我认为我不需要再提出另一个请求。任何提示或建议当然不胜感激。我怎样才能正确地做到这一点?我尝试了一些变体,但显然不起作用。诸如此类的东西...
var skinData = @ViewBag.SkinInfo.Data;
这仅输出 namespace 。有什么想法可以正确地做到这一点吗?
干杯,
~ck 在圣地亚哥
最佳答案
您将需要使用一些序列化程序将 .GetSkins()
方法结果转换为 json 对象。内置的 JavaScriptSerializer 或 json.net
JavaScriptSerializer serializer = new JavaScriptSerializer();
viewPage.ViewBag.SkinInfo = serializer.Serialize(SkinManager.GetSkins());
然后在你看来
var skinData = @Html.Raw(ViewBag.SkinInfo);
关于javascript - 如何将 javascript 输出到 asp.net mvc3 中的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5584609/