加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 为自定义UserControl提供呈现HTML中的ID

发布时间:2020-12-16 07:30:29 所属栏目:asp.Net 来源:网络整理
导读:当我使用ASP:Calendar控件,并给它一个ID: asp:Calendar runat =“server”ID =“MyCal”/ 它在渲染的html中看起来像这样: table id =“NameMangled_MyCal”... / 我可以在javascript中通过ID访问元素,如下所示: var cal = document.getElementById(“%
当我使用ASP:Calendar控件,并给它一个ID:

< asp:Calendar runat =“server”ID =“MyCal”/>

它在渲染的html中看起来像这样:

< table id =“NameMangled_MyCal”... />

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

var cal = document.getElementById(“<%= MyCal.ClientID%>”)

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

<%@ 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 …

< mvs:WeeklyEventsCalendar ID =“WeeklyCal”runat =“server”/>

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

< DIV>东西< / div>

当我想要的时候

< div id =“NameMangled_WeeklyCal”>东西< div>

我究竟做错了什么?

解决方法

UserControls只渲染其内容,没有别的.你能做的是

<%@ 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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读