如何在页面上引用多个相同的用户控件

timeKeeper

我正在尝试在单个页面上使用多个ascx控件实例。仅页面上的最后一个控件有效。我从这篇文章中了解到[将多个添加到一种表单中该问题与ID有关时,Asp.Net用户控件无法正常工作我以某种方式试图重用ID,并且未正确引用正在编辑的特定控件。但是,该页面上的代码很复杂,我不明白答案。我创建了一个小例子来说明我的问题。

这是我的用户控件:

<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="testControl.ascx.vb" Inherits="Tempusforms.testControl" %>
    <script type="text/javascript">
        function getValue() {
            document.getElementById("<%=Label1.ClientID %>").innerHTML = getIndex();
        }
        function getIndex() {
            return document.getElementById("<%=droppit.ClientID %>").selectedIndex;
        }
    </script>

    <span>
 		    <asp:DropDownList ID="droppit" runat="server"  OnChange="getValue();" >
                <asp:ListItem Value="Select a Value"></asp:ListItem>              
                <asp:ListItem Value="one"></asp:ListItem>
                <asp:ListItem Value="two"></asp:ListItem>
                <asp:ListItem Value="three"></asp:ListItem> 
            </asp:DropDownList>
        
    </span>&nbsp;Index Value = 
    <span>
        <asp:label ID="Label1" runat="server" Text="mylabel" ></asp:label>        
    </span>

这是使用控件的页面:

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="userControlTest.aspx.vb" Inherits="Tempusforms.userControlTest" %>
<%@ Register src="../Common/testControl.ascx" tagname="testControl" tagprefix="uc1" %>
<!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>
</head>
<body>
    <form id="form1" runat="server">
    <div>

        <uc1:testControl ID="testControl1" runat="server" />
            <br /><br />
        <uc1:testControl ID="testControl2" runat="server" />

    </div>
    </form>
</body>
</html>

您能告诉我如何进行这项工作吗?

谢谢你的帮助。

米海·丁库列斯库(Mihai Dinculescu)

ASP.NET生成不同的ID,其中包括UserControl ID,因此这里的ID不再是问题。

但是,问题出在您包含在用户控件中的JS代码。这种情况反复发生,因此显然会发生坏事。

您应该将这些脚本置于用户控件之外,并将其更改为使用参数。

就像是:

<script type="text/javascript">
    function getValue(ctrlID) {
        document.getElementById(ctrlID).innerHTML = getIndex(ctrlID);
    }
    function getIndex(ctrlID) {
        return document.getElementById(ctrlID).selectedIndex;
    }
</script>

您可以像这样从用户控件调用这些函数: OnChange="getValue(this.id);"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在页面上引用多个相同的用户控件

来自分类Dev

如何在 Web 应用程序中的页面上引用被覆盖的服务器控件

来自分类Dev

如何在用户控件的aspx页面上调用外部javascript方法

来自分类Dev

如何在用户控件的aspx页面上调用外部javascript方法

来自分类Dev

如何在多个页面上继续交易

来自分类Dev

如何在多个页面上继续交易

来自分类Dev

如何在多个页面上使用jQuery

来自分类Dev

如何在多个页面上获取数据?

来自分类Dev

如何在Django的同一页面上具有多个相同形式

来自分类Dev

Angular2-如何在多个页面上重用相同的模型驱动形式

来自分类Dev

如何在页面上多次嵌入相同的redux-form?

来自分类Dev

如何在不同页面上处理相同的表单(DRY)

来自分类Dev

如何在同一页面上使用具有相同 ID 的多个(动态)切换按钮?

来自分类Dev

如何在HTML页面上向用户显示输入?

来自分类Dev

如何在单个页面上打印图像的多个副本

来自分类Dev

如何在单个页面上打印图像的多个副本

来自分类Dev

如何在页面上使用多个日期选择器

来自分类Dev

如何在多个页面上打印PDF文档?

来自分类Dev

如何在单个页面上显示多个幻灯片

来自分类Dev

如何在页面上的多个元素之间共享 javascript/html?

来自分类Dev

如何在独立于页面的用户控件的页面加载中读取父控件的ID?

来自分类Dev

如何在多个Windows /页面/控件上设置DataContext?

来自分类Dev

当页面上有多个浮出控件时,如何将 MenuFlyout“itemsource”与集合绑定?

来自分类Dev

将用户输入存储在多个页面上

来自分类Dev

如何在页面上获取有关每个控件的加载时间的信息?

来自分类Dev

检查先前是否在页面上加载了用户控件

来自分类Dev

同一页面上的用户控件的Multipul实例

来自分类Dev

如何在每个页面上显示当前用户创建的类别用户

来自分类Dev

我如何在多个页面中使用相同的sidenav

Related 相关文章

  1. 1

    如何在页面上引用多个相同的用户控件

  2. 2

    如何在 Web 应用程序中的页面上引用被覆盖的服务器控件

  3. 3

    如何在用户控件的aspx页面上调用外部javascript方法

  4. 4

    如何在用户控件的aspx页面上调用外部javascript方法

  5. 5

    如何在多个页面上继续交易

  6. 6

    如何在多个页面上继续交易

  7. 7

    如何在多个页面上使用jQuery

  8. 8

    如何在多个页面上获取数据?

  9. 9

    如何在Django的同一页面上具有多个相同形式

  10. 10

    Angular2-如何在多个页面上重用相同的模型驱动形式

  11. 11

    如何在页面上多次嵌入相同的redux-form?

  12. 12

    如何在不同页面上处理相同的表单(DRY)

  13. 13

    如何在同一页面上使用具有相同 ID 的多个(动态)切换按钮?

  14. 14

    如何在HTML页面上向用户显示输入?

  15. 15

    如何在单个页面上打印图像的多个副本

  16. 16

    如何在单个页面上打印图像的多个副本

  17. 17

    如何在页面上使用多个日期选择器

  18. 18

    如何在多个页面上打印PDF文档?

  19. 19

    如何在单个页面上显示多个幻灯片

  20. 20

    如何在页面上的多个元素之间共享 javascript/html?

  21. 21

    如何在独立于页面的用户控件的页面加载中读取父控件的ID?

  22. 22

    如何在多个Windows /页面/控件上设置DataContext?

  23. 23

    当页面上有多个浮出控件时,如何将 MenuFlyout“itemsource”与集合绑定?

  24. 24

    将用户输入存储在多个页面上

  25. 25

    如何在页面上获取有关每个控件的加载时间的信息?

  26. 26

    检查先前是否在页面上加载了用户控件

  27. 27

    同一页面上的用户控件的Multipul实例

  28. 28

    如何在每个页面上显示当前用户创建的类别用户

  29. 29

    我如何在多个页面中使用相同的sidenav

热门标签

归档