Пользовательский элемент управления контейнером ASP.NET

13
задан Arthur Chaparyan 20 November 2008 в 18:11
поделиться

5 ответов

Существует два способа сделать это. Нужно реализовать INamingContainer на Вашем управлении, и прилагает много усилий.

другой путь состоит в том, чтобы наследоваться Панели и переопределить методы RenderBeginTag и RenderEndTag для добавления пользовательской разметки. Это легко.

public class RoundedCornersPanel : System.Web.UI.WebControls.Panel
{
    public override RenderBeginTag (HtmlTextWriter writer)
    {
        writer.Write("Your rounded corner opening markup");
        base.RenderBeginTag(writer);
    }

    public override RenderEndTag (HtmlTextWriter writer)
    {
        base.RenderEndTag(writer);
        writer.Write("Your rounded corner closing markup");                     
    }
}
15
ответ дан FlySwat 20 November 2008 в 18:11
поделиться
  • 1
    Только если они - ограниченные целые числа. – Larry 8 March 2010 в 15:37

Создайте класс, который наследовал Систему. Сеть. UI.Control и переопределение Рендеринг (HtmlTextWriter) метод. В этом методе представьте окружающие теги запуска, затем представьте детей (RenderChildren), затем представьте конечные тэги.

protected override void Render ( HtmlTextWriter output )
{
  output.Write ( "<div>" );
  RenderChildren ( output );
  output.Write ( "</div>" );
}

Скругленные углы обычно достигается с помощью CSS и угловых изображений для верхнего левого, верхнего правого, нижнего левого и правых нижних углов. Это могло быть сделано с помощью 4 вложенных отделений, действуя как слои, каждый из них имеющий одно угловое изображение как их фоновое изображение.

3
ответ дан baretta 20 November 2008 в 18:11
поделиться
  • 1
    Требуемое пространство является O (n). Не летит. – Seva Alekseyev 8 March 2010 в 15:36

Проект кода имеет что-то, что могло бы заинтересовать Вас: Контейнер Кривой Панели - Самородок Пользовательского элемента управления ASP.NET . Я уверен, что можно играть с кодом и иметь поведение и посмотреть, Вы хотите.

alt text

2
ответ дан Community 20 November 2008 в 18:11
поделиться

Просто другая вещь, которую можно использовать, существует расширитель скругленного угла в ASP.NET ajax инструментарий.

я знаю, что это не точно, что Вы попросили, но Вы не должны писать пользовательский код.

Hope, которая помогает!

0
ответ дан Zachary Yates 20 November 2008 в 18:11
поделиться
  • 1
    Я думал что-то вдоль тех строк, например, доказывал, что для подмножества A, B Z\{0,1}, где |A | = |B |, тогда если сумма (a_i) = сумма (b_i) и напоминание (a_i) = напоминание (b_i) мы должны иметь = B после некоторой перестановки... твердая часть, является доказательством: P – Mads Ravn 8 March 2010 в 21:29
public class myCustomPanel : Panel
{
    public override void RenderBeginTag(HtmlTextWriter writer)
    {
        writer.AddAttribute(HtmlTextWriterAttribute.Class, "top_left_corner");
        writer.RenderBeginTag(HtmlTextWriterTag.Div);
            base.RenderBeginTag(writer);
    }

    public override void RenderEndTag(HtmlTextWriter writer)
    {
            base.RenderEndTag(writer);
        writer.RenderEndTag();
    }

}
-1
ответ дан Bruno Shine 20 November 2008 в 18:11
поделиться
  • 1
    Нет, это не равно длине массива, это равно количеству отличных значений в массиве. – Svante 8 March 2010 в 16:36
Другие вопросы по тегам:

Похожие вопросы: