إعطاء مخصص UserControl معرف في HTML المقدمة
-
03-07-2019 - |
سؤال
عند يمكنني استخدام 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>
لا تنتمي إلى StackOverflow