gpt4 book ai didi

asp.net - 在呈现的 HTML 中为自定义 UserControl 提供一个 ID

转载 作者:搜寻专家 更新时间:2023-11-01 04:55:54 24 4
gpt4 key购买 nike

当我使用 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> stuff </div>

当我想要的时候

<div id="NameMangled_WeeklyCal"> stuff <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>

关于asp.net - 在呈现的 HTML 中为自定义 UserControl 提供一个 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/209940/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com