FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

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

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

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 5411|回复: 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备2021006167号-1 )

GMT+8, 2024-3-29 01:19 , Processed in 0.054527 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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