控件创建后,先设置属性,再添加到页面,导致工作不正常的问题
来源:互联网 发布:三维动画软件好学吗 编辑:程序博客网 时间:2024/04/28 14:19
前些日子出过一个问题,并在csdn上求得了解决方案,具体内容参看帖子:
http://topic.csdn.net/u/20091130/15/3ac9bde9-802d-49ec-8841-66ae1f8dae24.html
就是说在js里创建一个option后,先设置文本和值,再添加到dom中:
var opn = document.createElement("OPTION");
opn.innerText = 11;
opn.value = 11;
obj.appendChild(opn);
结果导致页面这个select会逐渐变短,改成先添加到dom中,后设置文本和值,就正常了:
var opn = document.createElement("OPTION");
obj.appendChild(opn);
opn.innerText = 11;
opn.value = 11;
昨天发博客:防止页面按钮被重复点击,导致页面重复提交的问题 ,然后同事根据这个文章修改了一个项目代码,结果导致自定义控件的按钮事件不能正常执行,表现为点击按钮后,绑定的事件没有执行:
代码如下:
ImageButton btn = new ImageButton();
btn.ID = "_btn";
btn.Click += new ImageClickEventHandler(OnClick);
btn.OnClientClick = "if(!confirm('您确认吗?')){return false;}" +
Page.ClientScript.GetPostBackEventReference(btn, string.Empty) + ";this.disabled = true;return false;";
this.Controls.Add(btn);
检查发现是ClientScript.GetPostBackEventReference生成的__EVENTTARGET参数少了前面的控件ID
问题的原因一样,是因为先设置属性,再添加控件造成的,改成下面这样就可以了:
ImageButton btn = new ImageButton();
this.Controls.Add(btn);
btn.ID = "_btn";
btn.Click += new ImageClickEventHandler(OnClick);
btn.OnClientClick = "if(!confirm('您确认吗?')){return false;}" +
Page.ClientScript.GetPostBackEventReference(btn, string.Empty) + ";this.disabled = true;return false;";
上面2个问题类似,所以列在一起记录下来。
- 控件创建后,先设置属性,再添加到页面,导致工作不正常的问题
- Android Activity设置singleTask属性导致onActivityForResult不正常问题解析
- 在Jdeveloper使用SVN时,如果先设置浏览器代理,后在Jdeveloper创建SVN连接会导致的问题
- 升级vs2008后,区域设置不正常导致路径转换失败的问题
- 解决ubuntu 14.04删除ibus后导致系统设置丢失项目,注销关机不正常的问题
- css加载导致页面先“朴素”后“华丽”的解决办法
- 升级到OSX10.11后cocopods不正常的问题
- Extjs TabPanel 移除GridPanel后再添加导致GridPanel显示不正常
- createElement创建控件时的name属性设置问题
- jQuery -> 如何【先创建、再修改、后添加】 DOM元素
- 【工作中学到的小技巧】在/etc/profile中添加path后导致linux命令都不能用
- ListView添加HeaderView后,HeaderView里的控件设置某些属性不起作用
- 安装MANTIS测试环境后,解决页面显示警告时区设置不正常的方法
- 关于MFC里组合框控件设置好后编译运行不正常的原因和解决办法
- c#创建窗体,向窗体添加控件,设置控件大小位置等属性,写控件的响应
- WebForm框架页面上js修改服务端控件导致后台不能正确获取到控件值的问题【总结】
- jQuery EasyUI动态添加控件或者ajax加载页面后不能自动渲染问题的解决方法
- jQuery EasyUI动态添加控件或者ajax加载页面后不能自动渲染问题的解决方法
- 片头LOGO v0.5
- Excel操作~~
- xp下使用Openssl来制作证书,在IIS中配置Https笔记
- 一句话博客
- XML DOM removeChild方法
- 控件创建后,先设置属性,再添加到页面,导致工作不正常的问题
- 游戏测试的疑问及建议
- Oracle PL/SQL操作(一)
- Oracle PL/SQL操作(二)
- 扪心自问
- 统计源代码行数
- Oracle PL/SQL 操作(三)Oracle函数
- Oracle PL/SQL操作(四)索引与约束
- BT没死!305个国外BT资源聚合站点大全