网站首页收藏本站

FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

FineUI首页 WebForms - MVC - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

FineUIMvc/Core v5.2.0 发布(基于像素的响应式布局) FineUIPro v5.2.0 发布(十年磨一剑,升级正当时) 欢迎加入【三石和他的朋友们】(基础版下载)

查看: 1555|回复: 6

JArray 问题,在Action的参数用了JArray就出错

[复制链接]
发表于 2018-3-13 15:39:24 | 显示全部楼层 |阅读模式
本帖最后由 虫子 于 2018-3-13 15:42 编辑

  1.         [HttpPost]
  2.         [ValidateAntiForgeryToken]
  3.         public ActionResult btnRoleSaveClose_Click(FormCollection values, JArray checkedNodes)
  4.         {
  5.             //JArray checkedNodes = new JArray();
  6.             try
  7.             {
  8.                 ShowNotify(JJ.Common.JsonHelper.ObjectToJSON(checkedNodes));
  9.             }
  10.             catch (Exception ex)
  11.             {
  12.                 ShowNotify(ex.Message);
  13.             }
  14.             
  15.             return UIHelper.Result();
  16.         }
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
 楼主| 发表于 2018-3-13 19:51:21 | 显示全部楼层
问题解决,没有在Global里面加
  1. ModelBinders.Binders.Add(typeof(JArray), new JArrayModelBinder());
  2.             ModelBinders.Binders.Add(typeof(JObject), new JObjectModelBinder());
复制代码


但现在的问题是
JArray checkedNodes
收到的是长度总是0,包括Grid事件里面的fileds参数也是一样
回复 支持 反对

使用道具 举报

发表于 2018-3-13 22:22:13 | 显示全部楼层
虫子 发表于 2018-3-13 19:51
问题解决,没有在Global里面加

调试,截图看下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-15 09:59:03 | 显示全部楼层
前端按钮事件
  1. .OnClick(Url.Action("btnRolePefSaveClose_Click"), "SimpleForm1", new Parameter("checkedNodes", "getCheckedNodes()"))
复制代码


getCheckedNodes:
  1. function getCheckedNodes() {
  2.             var result = [];

  3.             var checkedNodes = F.ui.tree_MenuList.getCheckedNodes(true);
  4.             if (checkedNodes.length) {
  5.                 $.each(checkedNodes, function (index, node) {
  6.                     result.push({
  7.                         id: node.id,
  8.                         text: node.text
  9.                     });
  10.                 });
  11.             }

  12.             return result;
  13.         }
复制代码


后端代码

  1. public ActionResult btnRolePefSaveClose_Click(FormCollection values, JArray checkedNodes)
  2.         {
  3. }
复制代码

后端代码无错,values内容正确,checkedNodes的长度为0,以前还是正确的

前端调试数据传递

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-15 10:28:55 | 显示全部楼层
sanshi 发表于 2018-3-13 22:22
调试,截图看下

贴了代码了
回复 支持 反对

使用道具 举报

发表于 2018-3-15 10:47:14 | 显示全部楼层
虫子 发表于 2018-3-15 09:59
前端按钮事件

getCheckedNodes:
  1. .OnClick(Url.Action("btnRolePefSaveClose_Click"), "SimpleForm1", new Parameter("checkedNodes", "getCheckedNodes()"))
复制代码
改为:
  1. .OnClick(Url.Action("btnRolePefSaveClose_Click"), "SimpleForm1", new Parameter("checkedNodes", "F.toJSON(getCheckedNodes())"))
复制代码
应该就好了。

这个是 FineUIMvc v4.1.0 中的一个不兼容改动,详情看更新记录:http://fineui.com/version_mvc/


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-17 09:45:44 | 显示全部楼层
谢谢,好了,这个还真没注意 ,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|FineUI 官方论坛 ( 皖ICP备13005369号-1 )  

GMT+8, 2018-9-20 00:59 , Processed in 1.112316 second(s), 27 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表