FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

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

搜索
查看: 5112|回复: 3
打印 上一主题 下一主题

【常见问题】Grid删除行时Grid1.SelectedRowIndexArray.Length==0

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-20 12:10:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
新手必看!如果你已经有 FineUI一年以上使用经验,请绕行!

问题都是这样:

在没有找到解决办法之前,都很神奇。

在知道最终答案的时候,一般都是:切!这么简单!

这是一个来自于知识星球的主题,这个问题新手最容易犯了,记录一下:


仅凭这个代码片段是无法解决问题的。我们需要用户提供基于空项目重现问题的示例,这个很关键,也希望大家能及时提供,方便快速解决问题:


拿到用户提供的空项目后,调试很容易发现问题:


在用户代码中,可以看到明显的错误:


你能发现问题吗?

这里少了 IsPostBack 的判断,所以每次回发时都会重新加载表格数据(此时会清空当前选中项),所以自然后台就是这样了:
Grid1.SelectedRowIndexArray.Length == 0

解决办法:
  1. protected void Page_Load(object sender, EventArgs e)
  2.         {
  3.             if (!IsPostBack)
  4.             {
  5.                 btnDelete.ConfirmText = String.Format("你确定要删除选中的 <b><script>{0}</script></b> 行数据吗?", Grid1.GetSelectedCountReference());
  6.                 btnDelete.OnClientClick = Grid1.GetNoSelectionAlertReference("请至少选择一项!");
  7.                 BindGrid();
  8.             }
  9.         }
复制代码


然后一切都归于正常:



本帖子中包含更多资源

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

x
沙发
发表于 2018-9-20 12:26:47 | 只看该作者
这玩意还一年以上,是开发就应该注意到
板凳
 楼主| 发表于 2018-9-20 12:41:50 | 只看该作者
shihahayue 发表于 2018-9-20 12:26
这玩意还一年以上,是开发就应该注意到

说是那么说,不过还是有些开发人员容易忽略这个问题,然后遇到的错误就千奇百怪
地板
发表于 2018-9-20 13:34:58 | 只看该作者
这问题,群里的没想好同学已经告诉他了,他不信。。。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-24 02:48 , Processed in 0.045639 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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