Добавление контрола на форму

Программирование Web-приложений и Web-сервисов.

Модератор: Ramzes

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Добавление контрола на форму

Сообщение ANDLL » 05.02.2007 (Пн) 15:55

Как динамически добавлять контролы?

Есть 4 файла. Default.aspx и WebUserControl.ascx.

Default.aspx
Код: Выделить всё
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<%@ Register Src="~/WebUserControl.ascx" TagPrefix="aaa" TagName="bbb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    </div>
    </form>
</body>
</html>

Default.aspx.vb
Код: Выделить всё
Partial Class _Default
    Inherits System.Web.UI.Page
    Dim A As webusercontrol

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        A = New WebUserControl
        form1.Controls.Add(A)
    End Sub
End Class

WebUserControl.ascx
Код: Выделить всё
<%@ Control Language="VB" AutoEventWireup="false" CodeFile="WebUserControl.ascx.vb" Inherits="WebUserControl" %>
Hello!

WebUserControl.ascx.vb
Код: Выделить всё
Partial Class _Default
    Inherits System.Web.UI.Page
    Dim A As WebUserControl

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        A = New WebUserControl
        form1.Controls.Add(A)
    End Sub
End Class

По идее, этот код должен добавлять контрол на Web-страницу. Но не добавляет. Причем события Page_Load, Page_Init у контрола вызывается. Но тем не менее, его содержимое(текст Hello) не отображается на форме.
Если, например, в контрол вставить элемент с id=id1 runat=server то в событии Form_Load контрола id1=nothing. То есть такое ощущение, что контрол никоим образом не привязывается к .ascx-файлу.
Как быть?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 05.02.2007 (Пн) 18:20

Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог


Вернуться в ASP.NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14

    TopList