سؤال

عند يمكنني استخدام ASP: السيطرة على التقويم، وإعطائها ID:

و<asp:Calendar runat="server" ID="MyCal" />

ويبدو مثل هذا في أتش تي أم أل المقدمة:

و<table id="NameMangled_MyCal"... />

ويمكنني الوصول إلى العنصر بواسطة ID في جافا سكريبت مثل هذا:

وvar cal= document.getElementById("<%= MyCal.ClientID%>")

على ومع ذلك، عند I جعل عنصر تحكم مستخدم مخصص يحتوي جدولا زمنيا:

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

وثم إعطائها هوية إذا أضيف إلى الصفحة الخاصة بي ...

و<mvs:WeeklyEventsCalendar ID="WeeklyCal" runat="server" />

وهذا الرقم لا تظهر في أي مكان في 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>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top