我们可以使用JavaScript访问ASP.NET Web用户控件的子控件吗

tktrz96b  于 2023-10-21  发布在  .NET
关注(0)|答案(1)|浏览(132)

我有一个Web用户控件。我想知道当我们在另一个页面中使用它时,如何使用JavaScript访问它的子控件。
假设我的控制如下:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UCS.ascx.cs" Inherits="UCS" %>
        <asp:Panel ID="rbtnPanel" runat="server">
        <asp:RadioButton ID="rbtnEn" runat="server" GroupName="scan" Checked="true" Text="Entire" style="margin-left: -7px;"/>
        <asp:RadioButton ID="rbtnCu" runat="server" GroupName="scan" Text="Custom" style="position: absolute; margin-left: 2px;"/>
         </asp:Panel>

最新消息:
我在页面中添加了它:Try.aspx

<%@ Register Src="~/UserControls/UCS.ascx" TagName="UCS" TagPrefix="ucSc" %>
 <table>
 <tr>
 <td>
          <usSc:UCS id="UCS1" runat="server" />
 </td>
 </tr>
 </table>

请输入JavaScript:

$(document).ready(function() {
    setPageLayout(2, 0, true);
    startTimer();
  }

  function startTimer()
  {
    alert(document.getElementById("<%= rbtnCu.ClientID %>").checked);
  }

所以如果我在另一个页面中注册这个控件。如何访问Try.aspx页面的JavaScript部分中的RadioButton。

e4yzc0pl

e4yzc0pl1#

您可以使用id selector,因为单选按钮的ClientIDMode不是静态的,您必须使用ClientID,因为asp.net生成的ID不是您看到的服务器ID。

var rbrbtnEn =  document.getElementById('<%= rbtnEn.ClientID %>');

获取选中状态

alert(document.getElementById('<%= rbtnEn.ClientID %>').checked);

相关问题