找回密码
 立即注册

QQ登录

只需一步,快速开始

jasonLed

初级会员

31

主题

82

帖子

227

积分

初级会员

积分
227
jasonLed
初级会员   /  发表于:2022-3-28 16:02  /   查看:4769  /  回复:13
本帖最后由 jasonLed 于 2022-3-28 16:10 编辑

动态生成C1GridView,重新绑定后取key值,我的本意是要取Button1_Click中绑定的key值,但是实际取到的还是init中绑定的key值,怎么才能取到正确的值?
第一步点击bindgrid,此时key值是button
第二步点击getkeyvalue,目的是得到key值button,但实际取到的还是init

本帖子中包含更多资源

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

x

13 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-3-28 16:19:21
沙发
你好,麻烦上传一个完整的demo上来,我来重现一下问题,这个只有aspx文件跑不起来
回复 使用道具 举报
jasonLed
初级会员   /  发表于:2022-3-28 16:48:40
板凳
本帖最后由 jasonLed 于 2022-3-28 16:50 编辑
Richard.Ma 发表于 2022-3-28 16:19
你好,麻烦上传一个完整的demo上来,我来重现一下问题,这个只有aspx文件跑不起来

有cs文件,你直接新建一个网站放进去就可以的,完整的已放附件

本帖子中包含更多资源

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

x
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-3-28 18:25:28
地板
问题已经收到,我这边验证后明天早上给你回复
回复 使用道具 举报
jasonLed
初级会员   /  发表于:2022-3-29 11:28:07
5#
Richard.Ma 发表于 2022-3-28 18:25
问题已经收到,我这边验证后明天早上给你回复

好的,知道问题的原因了吗?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-3-29 12:28:55
6#
你可以看一下,点击GetKeyValue按钮时,又执行了一次OnInit方法,导致被设置为了“init”字符

实际上,你点击BindGrid按钮时,也是因为先执行OnInit方法新建了一个C1GridView,否则就无法获取到

你可以给OnInit中开始的时候加入下面的代码测试,这样可以避免第一个问题,但是就会导致第二个问题,
  1.         if (Page.IsPostBack)
  2.             return;
复制代码
回复 使用道具 举报
jasonLed
初级会员   /  发表于:2022-3-29 12:46:33
7#
本帖最后由 jasonLed 于 2022-3-29 13:33 编辑
Richard.Ma 发表于 2022-3-29 12:28
你可以看一下,点击GetKeyValue按钮时,又执行了一次OnInit方法,导致被设置为了“init”字符

实际上, ...

这样会导致页面为空,不会动态生成gridview。按道理oninit之后,viewstate会被恢复,现在问题是看起来界面是恢复了,但是实际后台后去的绑定内容还是oninit里的

回复 使用道具 举报
jasonLed
初级会员   /  发表于:2022-3-29 16:50:28
8#
有后续进展吗?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-3-29 18:16:52
9#
目前暂时没有什么解决办法。这个问题已经作为bug转给研发那边了C1WEB-29016,此贴保留处理。后续研发这边的反馈结果我会更新到帖子中
回复 使用道具 举报
jasonLed
初级会员   /  发表于:2022-4-7 08:47:04
10#
有进一步消息吗?
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部