如何使用 jquery 将对象从 mvc 控制器操作传递到视图
本文关键字:操作 视图 控制器 mvc jquery 何使用 对象 | 更新日期: 2023-09-27 18:34:05
有人可以帮我吗 我是jQuery的新手,我想知道如何从控制器操作MVC传递对象
public ActionResult UserGroupSetting()
{
UserGroupSetting setting = //some code to retrieve the settings
ViewData["Theme"] = setting.Theme;
ViewData["Image"] = setting.LogoImage;
returnView(setting);
}
我希望它在jQuery函数中获取主题和徽标图像,我将使用它来更新样式表中的类,主题对象现在仅包含十六进制形式的颜色。
如果有人可以帮助我调用jquery函数,我将如何在jquery中公开图像和主题对象。谢谢
你可以以 jSon 格式返回数据,并让 jquery 用getJSON
方法调用你的操作方法
public ActionResult UserGroupSetting()
{
var result=new { Theme="YourTheme", Logo="YourLogoURL"};
return Json(result, JsonRequestBehavior.AllowGet);
}
在你的页面中,从你的javascript调用这个
$(function(){
$.getJSON('YourController/UserGroupSetting', function(data) {
alert(data.Theme);
alert(data.Logo);
});
});
如果我是你,我会这样做:
您可以使用 ViewBag: 在操作中: ViewBag.Setting = 设置;
UserGroupSetting setting = //some code to retrieve the settings
ViewBag.Theme = setting.Theme;
ViewData.Image = setting.LogoImage;
returnView(setting);
然后在剃刀中:
@{
var setting = (UserGroupSetting)ViewBag.Setting;
}
将其输出到 JavaScript 标签:
<script type="text/javascript">
var setting = new setting{
Theme = @setting.Theme,
Image = @setting.Image
}
</script>
这可能不是最好的解决方案,但我过去使用的一个选项是在视图中创建一个隐藏input
,并在 jQuery 代码中访问input
的值。这将是您视图中的代码示例:
<input id="someID" type="hidden" value="@TempData["Theme"]" />