Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Контрол / 7 сообщений из 7, страница 1 из 1
20.10.2005, 12:07
    #33334749
Andr2141
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контрол
Объясните такую вещь;
можно ли создать пользовательский контрол
у которого внутри тегов можно что то размесить?
если да то от какого класса нужно наследоваться в этом случае?

Код: plaintext
1.
2.
3.
4.
<uccc:SomeControl id="SomeControl1" runat="server">
     Хочу чтоб сюда можно было вставить чайлдовские теги
</uccc:SomeControl>

...
Рейтинг: 0 / 0
20.10.2005, 12:15
    #33334783
monstrU
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контрол
это можно сделать в серверном контроле - почитай на эту тему
...
Рейтинг: 0 / 0
20.10.2005, 12:37
    #33334837
Sam Andrews
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контрол
от UserControl

с уважением...
...
Рейтинг: 0 / 0
20.10.2005, 12:39
    #33334841
Andr2141
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контрол
Я так понял что это темплейтовый контрол?
...
Рейтинг: 0 / 0
20.10.2005, 12:54
    #33334872
Sam Andrews
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контрол
я делал от UserControl и через его свойства в коллекцию Controls добавляешь нужного типа теги...

переопределяешь Render и RenderChildren и вуаля...

с уважением...
...
Рейтинг: 0 / 0
20.10.2005, 13:10
    #33334922
Andr2141
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контрол
Sam Andrews
я делал от UserControl и через его свойства в коллекцию Controls добавляешь нужного типа теги...

переопределяешь Render и RenderChildren и вуаля...

с уважением...


А можно семплик небольшой посмотреть?
...
Рейтинг: 0 / 0
20.10.2005, 13:30
    #33335002
Sam Andrews
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контрол
простой пример для понимания:

контрол:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
using System;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace DQ
{
	public class DQTextBox : TextBox
	{
		private String header;

		public String Header
		{
			get
			{
				return header;
			}
			set
			{
				header = value;
			}
		}
	}

	public class TestContainer : UserControl
	{
		public DQTextBox Test
		{
			set
			{
				this.Controls.Add(value);
			}
		}

		protected override void RenderChildren(HtmlTextWriter render)
		{
			if(this.HasControls())
			{
				foreach(Control control in this.Controls)
				{
					DQTextBox dqTextBox = (DQTextBox)control;
					render.Write(String.Format("{0}: ", dqTextBox.Header));
					dqTextBox.RenderControl(render);
					render.RenderBeginTag(HtmlTextWriterTag.Br);
				}
			}
		}

		protected override void Render(HtmlTextWriter render)
		{
			render.RenderBeginTag(HtmlTextWriterTag.B);
			render.Write("test container:");
			render.RenderEndTag();
			render.RenderBeginTag(HtmlTextWriterTag.Br);
			this.RenderChildren(render);
		}
	}
}

на странице:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<%@ Register TagPrefix="DQ" Namespace="DQ" Assembly="TestControl" %>

            <dq:TestContainer id="testContainer" runat="server">
                <test runat="server" Header="test0" id="Test0"></test>
                <test runat="server" Header="test1" id="Test1"></test>
                <test runat="server" Header="test2" id="Test2"></test>
            </dq:TestContainer>

с уважением...
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Контрол / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]