Asp.net 在呈现的HTML中为自定义UserControl提供ID

Asp.net 在呈现的HTML中为自定义UserControl提供ID,asp.net,javascript,user-controls,Asp.net,Javascript,User Controls,当我使用ASP:Calendar控件并为其指定ID时: 在呈现的html中看起来如下所示: 我可以通过javascript中的ID访问元素,如下所示: var-cal=document.getElementById(“”) 但是,当我创建一个具有日历的自定义用户控件时: <%@ Control Language="C#" AutoEventWireup="true" CodeFile="WeeklyEventsCalendar.ascx.cs" Inherits="Weekly

当我使用ASP:Calendar控件并为其指定ID时:

在呈现的html中看起来如下所示:

我可以通过javascript中的ID访问元素,如下所示:

var-cal=document.getElementById(“”)

但是,当我创建一个具有日历的自定义用户控件时:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="WeeklyEventsCalendar.ascx.cs"
    Inherits="WeeklyEventsCalendar" %>

<div>
    <asp:Calendar runat="server" ID="InnerCal" Width="100%" OnDayRender="RenderCell" OnVisibleMonthChanged="ChangeMonth" Height="480px" />
</div>

然后当我把它添加到我的页面时给它一个ID

该ID不会显示在呈现的HTML中的任何位置。我得到的只是

stuff

当我想

stuff


我做错了什么?

用户控件仅呈现其内容,而不呈现其他内容。你能做的就是

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="WeeklyEventsCalendar.ascx.cs"
    Inherits="WeeklyEventsCalendar" %>

<div id="<%= this.ControlID %>">
    <asp:Calendar runat="server" ID="InnerCal" Width="100%" OnDayRender="RenderCell" OnVisibleMonthChanged="ChangeMonth" Height="480px" />
</div>