加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET MVC – 使用ViewData将Json String传递给View

发布时间:2020-12-15 23:14:41 所属栏目:asp.Net 来源:网络整理
导读:我试图使用ViewData将Json传递给我的View 调节器 ViewData("JsonRegionList") = Json(RegionService.GetActiveRegions()) 视图 $("input#UserRegion").autocomplete({ source:"%: ViewData("JsonRegionList").ToString %",minLength: 3, 但我遇到的问题是输
我试图使用ViewData将Json传递给我的View

调节器

ViewData("JsonRegionList") = Json(RegionService.GetActiveRegions())

视图

$("input#UserRegion").autocomplete({
                source:"<%: ViewData("JsonRegionList").ToString %>",minLength: 3,

但我遇到的问题是输出源看起来像

$("input#UserRegion").autocomplete({
                source:"System.Web.Mvc.JsonResult",

这显然是不对的.我错过了一些基本的东西吗?

解决方法

Json()控制器方法返回一个与JSON字符串不同的JsonResult. JsonResult保存数据,但是当View Engine调用JsonResult.ExecuteResult()时,数据实际上直接写入响应.这可能比您想要的更多的信息 – 关键是在控制器中调用Json()不会给你一个JSON字符串.

如果您只想将数据转换成JSON字符串,可以使用JavaScriptSerializer,这是Json()方法在内部使用的:

JavaScriptSerializer serializer = new JavaScriptSerializer();
ViewData["JsonRegionList"] = serializer.Serialize(jsonRegionList);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读