如何让代码变得更简洁

简约至上

 

使用WebCombo控件遇到的问题

1.在使用WebCombo时遇到这样一个问题,就是把它放到WebPanel控件后,一直不能获取它的值,后来访问它的官网,通过它自带的ClientSideEvents里面的AfterSelectChange方法,可以获取,但是太麻烦,它需要先找到WebCombo里面的类似于gridview的部分,然后找到选中行,再定位单元格,最后调用getText();方法获取。这样看来确实没有微软的方便,但是微软的dropdownlist功能又怎能像WebCombo那样丰富呢?还是继续想办法吧:

 再次运行,查看源文件,发现了很奇怪的问题,就是WebCombo里面的TextBox部分的命名很奇怪:WebPanel1xWebCombo_input (看见那个红色的x了吗),后来跟同事一块研究发现原来是为了避免控件重名的问题,因为如果按照微软的命名应该是WebPanel1_WebCombo_input,但是如果我在WebPanel里面放一个TextBox,把它命名WebCombo_input,那么他在客户端生成的id也应该是WebPanel1_WebCombo_input,这样问题就出现了。为了避免这种问题,他把名字加了个x,这样就不会出错了,因为你无论如何命名对不会在WebPanel和WebCombo之间加上这个x。他的问题是避免了,但是苦了咱们这帮coder,不过既然问题已经找到了,也就好解决了:

document.getElementById("<%= this.WebCombo1.ClientID.Replace("_","x")%>_input").value

这样我们就获取了用户选择的值,不用官网给出的那么繁琐了。

总结:

      1:其实WebCombo控件就是两部分组成:类TextBox控件+类Gridview控件(其实就可以当做TextBox和Gridview控件的组合体来对待)

      2:选中GridView中的行以后

posted on 2009-12-15 15:55  我每天都在进步o(∩_∩)o...  阅读(321)  评论(0编辑  收藏  举报

导航