刚才想整理一下文章,不知道怎么搞的,一下子就没了,从新帖。

在一个项目当中,使用了asp.net ajaxToolkit中的TAB控件。

现在TAB中做布局,内容等等,没发现问题。

开始处理逻辑了,问题来了:

原来设想让一个按钮弹出ModalPopup控件,在其中让用户填写一些东西。

因为想让这个ModalPopup控件服用,想在弹出之前,在其中修改一些东西。

HTML控件没问题,服务器端控件就不行了。

诧异呀,以前可以这样用的?

开始疯狂的在园子里和Google上搜索,都没这个问题的答案。

在MSDN上看了一下,也没有,而且都是用$get直接用服务器端控件的ID呀。

那是我错了,整个测试的页面,试吧!

居然没有错误,达到了试验的目的,为什么?

那就开始将项目中的代码移过来一点一点的对比。

当添加了TAB控件以后,问题出现了,和项目中的问题一模一样。

请看下面的代码:

Code
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="Swinfo.index" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
    <script type="text/javascript">
        function processEventInfo(eventElement) {
        var result = '';
        for (var i = 0, l = myArray.length; i < l; i++) {
            var arrayVal = myArray[i];
            if (typeof(arrayVal) !== 'undefined') {
                // Example: eventElement.clientX
                $get("tbTitle").value = "test ok"
                result += arrayVal + " = " + eval("eventElement." + arrayVal) + '<br/>';
            }
        }
        $get('Label2').innerHTML = result;
    }
   
    function processEventInfo1(eventElement) {
        var result = '';
        for (var i = 0, l = myArray.length; i < l; i++) {
            var arrayVal = myArray[i];
            if (typeof(arrayVal) !== 'undefined') {
                // Example: eventElement.clientX
                $get("tbTitle1").value = "test ok"
                result += arrayVal + " = " + eval("eventElement." + arrayVal) + '<br/>';
            }
        }
        $get('Label4').innerHTML = result;
    }
      function pageLoad() {
      }
    
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server"/>
            <div class="main_index">
                <div id="main" class="main">
                    <ajaxToolkit:TabContainer ID="TabContainer_Main" runat="server" CssClass="green">
                        <ajaxToolkit:TabPanel ID="TabPanel_Wen" runat="server" HeaderText="问产品">
                            <ContentTemplate>
                                <!--测试内容,暂时保留-->
                                <asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="False" UpdateMode="Conditional">
                                <ContentTemplate>
                                    <asp:Panel ID="Panel1" runat="server" GroupingText="Update Panel">
                                        <asp:Label ID="Label1" runat="server" Text="Click button to see event details."></asp:Label>
                                        <br />
                                        <asp:TextBox ID="tbTitle" runat="server" ></asp:TextBox>
                                        <br />
                                        <asp:Button ID="Button1" runat="server" Text="Button" AccessKey="b"  />
                                        <br />
                                        <asp:Label ID="Label2" runat="server"></asp:Label>
                                    </asp:Panel>
                                </ContentTemplate>
                            </asp:UpdatePanel>
                            </ContentTemplate>
                        </ajaxToolkit:TabPanel>
                    </ajaxToolkit:TabContainer>
                    <!--测试内容,暂时保留-->
                    <asp:UpdatePanel ID="UpdatePanel2" runat="server" ChildrenAsTriggers="False" UpdateMode="Conditional">
                        <ContentTemplate>
                            <asp:Panel ID="Panel2" runat="server" GroupingText="Update Panel">
                                <asp:Label ID="Label3" runat="server" Text="Click button to see event details."></asp:Label>
                                <br />
                                <asp:TextBox ID="tbTitle1" runat="server" ></asp:TextBox>
                                <br />
                                <asp:Button ID="Button2" runat="server" Text="Button" AccessKey="b"  />
                                <br />
                                <asp:Label ID="Label4" runat="server"></asp:Label>
                            </asp:Panel>
                        </ContentTemplate>
                    </asp:UpdatePanel>
                </div>
        </div>
    </form>
</body>
</html>
<script type="text/javascript">
     //问题就处在这里下面的这条语句,两条语句的处理是一样的,一个在TAB内,一个在TAB外
     //TAB内的是注释掉的那一句,接触注释,运行就会报告没有对象,换成<%=Button1.ClientID%>也是一样
    //Sys.UI.DomEvent.addHandler($get("Button1"), "click", processEventInfo);
    Sys.UI.DomEvent.addHandler($get("Button2"), "click", processEventInfo1);
        var myArray = ['altKey', 'button', 'charCode', 'clientX', 'clientY',
                   'ctrlKey', 'offsetX', 'offsetY', 'screenX', 'screenY', 
                   'shiftKey', 'target', 'type'];

</script>

代码中实现了两个一模一样的功能,一个在TAB中,一个在TAB外,TAB外面的就执行正确,$get能够取得服务器端控件的引用。

而TAB内的就无法实现对服务器端控件的引用。

事情清楚了,就是TAB控件惹的祸.

但是不是BUG,我也判断不出来。请各位高手看看,是不是BUG,如果不是BUG,请各位高手指教。

如果是BUG,我英文不好,请各位高人报告BUG吧!!!

转载于:https://www.cnblogs.com/panda/archive/2008/07/31/1257042.html

似乎是发现了asp.net ajaxToolkit中TAB控件的一个BUG相关推荐

  1. 怎么在ASP.NET中写HTML,如何:在 ASP.NET 网页中设置控件的 HTML 属性

    如何:在 ASP.NET 网页中设置控件的 HTML 属性 10/22/2014 本文内容 更新:2007 年 11 月 这些示例显示如何向页面中的元素添加 HTML 属性.第一个示例演示如何以声明方 ...

  2. asp.net页面中Menu控件下拉菜单被frame挡住和iframe自适应高度的解决办法

    当你在做一个仿windows程序的顶部菜单框架的时候,在asp.net中你可能会使用两个frame,一个frame在上面用来放菜单一个frame在下面用来方菜单点击后打开的页面.页面实现很简单,单运行 ...

  3. android怎么查看方法被谁调用,Android中查看布局文件中的控件(view,id)在哪里被调用(使用)...

    在阅读别人的代码时通常是很痛苦的,有时很想要看一看布局中的控件在哪里被调用了,为之很苦恼 在这里提供一种方法. 复制要查看的控件ID,到R文件中搜索到该ID, 接下来就好办的了,选中ID按下Ctrl鼠 ...

  4. matlab listbox选中输出,vba中ListBox控件的使用

    给ListBox添加内容 If CheckBox8 = True Then---------------------------checkbox控件被选中 For i = 0 To ListBox1. ...

  5. Asp.Net中验证控件简单分析

    为了实现验证,.net提供了一个javascript脚本,当我们生成一个asp.net页面时,通过查看页面源代码的方式,会发现都调用了下面一个javascript文件: <script src= ...

  6. Asp.net 2.0 中获取控件输出的Html代码 (转)

    将Asp.net 控件的呈现html获取,在不少场合会用到,比如生成静态页时 以下代码选自 Asp.net 2.0 高级编程 转自:Asp.net 2.0 中获取控件输出的Html代码 public  ...

  7. [转]ASP中ActiveX控件的内嵌及调用

    懂ASP(Active Server Pages)的人很多,但能用ASP自如地调用ActiveX控件的人却不多:如果不调用ActiveX控件,则可以说微软当初设计ASP的初衷根本没有达到.众所周知,A ...

  8. 测试ASP.NET 2.0中Gridview控件高级技巧

    ASP.NET 2.0中,新增加的gridview控件的确十分强大,弥补了在asp.net 1.1中,使用datagrid控件时的不足之处.因为在asp.net 1.1中,在使用datagrid时,很 ...

  9. asp.net findcontrol html控件,findcontrol-在ASP.NET中查找控件的更好方法

    findcontrol-在ASP.NET中查找控件的更好方法 我有一个复杂的asp.net表单,在一个表单中甚至有50到60个字段,例如FindControl(),在MultiView中我有GridV ...

最新文章

  1. 夏天过去了, 姥爷推荐几套来自smashingmagzine的超棒秋天主题壁纸
  2. ClickHouse系列教程二:使用航班飞行数据
  3. spring boot security ajax_Spring 和 SpringBoot 之间到底有啥区别?
  4. LIST OF CITIES FOR POTENTIAL VISIT IN SOUTHERN UK
  5. 实现灵活的IT架构的三个要点
  6. 网络流专题(完结撒花)
  7. 导航类查询词的收集方法
  8. iOS WebView生成长截图的第三种解决方案
  9. UniWebView笔记
  10. 透过现象看本质(一)
  11. SPSS软件数据中心化、标准化和归一化
  12. 如何查看你的浏览器的Flash版本
  13. 好看的充电宝有哪些?好看的充电宝推荐
  14. 自己最近在补天测试总结的一般思路
  15. python爬虫——爬取马蜂窝景点翻页文字评论
  16. 操作系统学习笔记——北京大学陈向群老师课后及习题答案(4)
  17. 监狱工作信息化建设的实践与思考
  18. 微信小程序云开发成绩查询小程序的制作过程。
  19. Python基础之数据编码
  20. 现场直播计分识别软件Crack:Scoreboard OCR

热门文章

  1. (原+转)使用opencv的DFT计算卷积
  2. SQL游标原理和使用方法(转)
  3. jvm面试2 jvm如何加载java代码? JVM知识重点:内存模型和GC
  4. Laravel 项目开发规范
  5. group by的用法原理
  6. 百度推广为什么出现在右侧
  7. java 1.6.0.11_ubuntu 11.10安装java1.6(转)
  8. Netty入门笔记-BIO编程
  9. mac服务器 文件无法删除文件夹,macOS 10.15.4 无法删除一个空文件夹
  10. mysql找出借书超过5本的读者_MySQL 练习题【一】附加题2