Есть несколько вопросов от начинающего
Есть следующий простой контрол-контейнер для дочерних. Лежит в App_Code:
public class SampleContainer : Control
{
protected override void Render(HtmlTextWriter writer)
{
// код...
base.Render(writer);
}
}
В связи с этим возникают несколько вопросов:
[li]
В MSDN предлагается дать контролу атрибуты
[AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
Зачем нужны эти атрибуты, и будет ли работать мой контрол без них (напоминаю, лежит в App_Code)? MSDN и Google не помогли мне разобраться с назначением этих атрибутов (возможно, дело в моем английском), буду рад, если объясните их назначение на пальцах.
[li]
Стоит ли контролу реализовывать INamingContainer? Мой контрол не поддерживает шаблоны, а всего лишь служит контейнером для других. Назначение INamingContainer тоже не вполне понятно. Ну и что, что при рендеринге дочерних контролов ID у них состоит из ID родительского и собственно ID этого контрола? Какой в этом смысл, если только контрол не использует шаблоны?
[li]
Есть пользовательский элемент управления, который использует Repeater:
<asp:Repeater ...>
<ItemTemplate>
<div class="date">
<%# Eval("Date", "{0:d}") %>
</div>
</ItemTemplate>
</asp:Repeater>
Как мне сделать, чтобы страница, на которой этот контрол, ссылалась на соответствующий CSS-файл? Естественно, не редактируя каждую страницу, куда я вставляю свой пользовательский элемент управления.
[li]Почему <link rel="stylesheet" type="text/css" href="~/css/stylesheet.css" runat="server" /> не преобразует путь? И как это исправить?
|