powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Создание UserControl
11 сообщений из 11, страница 1 из 1
Создание UserControl
    #36236186
afx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!
Такая проблема возникла : создаю собственный UserControl. В нем хочу заполнить DropDownList статическими значениями, но он почему-то не заполняется. Такое впечатление, что Page_Load вообще не срабатывает...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public partial class WebUserControl : System.Web.UI.UserControl
{
    protected void Page_Load(object sender, EventArgs e)
    { 
        DropDownList ddl = (DropDownList)this.FindControl("DropDownList2");
        ddl.Items.Add("один");
        ddl.Items.Add("два");
        ddl.Items.Add("три");
        ddl.Items.Add("пять");        

        Update.Click += new EventHandler(update_Click);        
    }
}

[SRC c#]
<%@ Control Language="C#" AutoEventWireup="true" %>
<asp:Table ID="Table1" runat="server" Height="209px" Width="348px">
<asp:TableRow runat="server">
<asp:TableCell runat="server" ID="Label_begin">Begin :
<asp:Label ID="Label2" runat="server" Text=""></asp:Label>
</asp:TableCell>
<asp:TableCell runat="server" ID="tab1">
<asp:TextBox ID="begin" runat="server" Height="25px" Width="171px"></asp:TextBox>
</asp:TableCell>
</asp:TableRow>

<asp:TableRow runat="server">
<asp:TableCell runat="server" ID="label_zdvig">Смещение :
<asp:Label ID="Label3" runat="server" Text=""></asp:Label>
</asp:TableCell>
<asp:TableCell runat="server" ID="textBox_Zdvig">
<asp:TextBox ID="TextBox3" runat="server" Height="25px" Width="171px"></asp:TextBox>
</asp:TableCell>
<asp:TableCell runat="server" ID="combo_Zdvig">
<asp:DropDownList ID="DropDownList2" runat="server" Height="33px" Width="174px">
</asp:DropDownList>
</asp:TableCell>
</asp:TableRow>

<asp:TableRow runat="server">
<asp:TableCell runat="server" ID="text_End">
<asp:Label ID="Label4" runat="server" Text="End :"></asp:Label>
</asp:TableCell>
<asp:TableCell runat="server" ID="tab2">
<asp:TextBox ID="textBox_End" runat="server" Height="25px" Width="171px"></asp:TextBox>
</asp:TableCell>
</asp:TableRow>

<asp:TableRow runat="server">
<asp:TableCell runat="server">
<asp:Button ID="Update" runat="server" Height="30px" Text="Update" Width="169px" />
</asp:TableCell>
</asp:TableRow>
</asp:Table>
[SRC c#]

DropDownList при запуске программмы пустой. Подскажите, пожалуйста, в чём здесь проблема.
Заранее спасибо.
...
Рейтинг: 0 / 0
Создание UserControl
    #36236208
ow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ow
Гость
Ты что хочешь то?
Объясни логику:
public partial class WebUserControl : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
DropDownList ddl = (DropDownList)this.FindControl("DropDownList2");
ddl.Items.Add("один");
ddl.Items.Add("два");
ddl.Items.Add("три");
ddl.Items.Add("пять");
Update.Click += new EventHandler(update_Click);
}


Page_Load у юзер контрола?

Если подобное делать у страницы, то все работает.
...
Рейтинг: 0 / 0
Создание UserControl
    #36236228
afx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
owТы что хочешь то?
Объясни логику:
public partial class WebUserControl : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
DropDownList ddl = (DropDownList)this.FindControl("DropDownList2");
ddl.Items.Add("один");
ddl.Items.Add("два");
ddl.Items.Add("три");
ddl.Items.Add("пять");
Update.Click += new EventHandler(update_Click);
}


Page_Load у юзер контрола?

Если подобное делать у страницы, то все работает.

Я делал Page_Load у контрола, а когда сделал у страницы, то получилась такая ошибка :
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:

Line 17: {
Line 18: DropDownList ddl = (DropDownList)this.FindControl("DropDownList2");
Line 19: ddl.Items.Add("один");
Line 20: ddl.Items.Add("два");
Line 21: ddl.Items.Add("три");

В строке 19...
...
Рейтинг: 0 / 0
Создание UserControl
    #36236374
alvalandr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если хотите заполнить статическими значениями, почему их просто не прописать в коллекции Items? Зачем их в коде добавлять?
...
Рейтинг: 0 / 0
Создание UserControl
    #36236734
afx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alvalandrЕсли хотите заполнить статическими значениями, почему их просто не прописать в коллекции Items? Зачем их в коде добавлять?

Да, так работает, спасибо. Но всё-же почему не работает динамически, подскажите, кто сталкивался,
потому как это было бы лучше...
...
Рейтинг: 0 / 0
Создание UserControl
    #36236945
elwood
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
afx , сделал как у тебя в твоем примере - всё отлично работает.
...
Рейтинг: 0 / 0
Создание UserControl
    #36237071
alvalandr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может стоит AutoEventWireUp = false? Бряку поставьте, событие то возбуждается?
...
Рейтинг: 0 / 0
Создание UserControl
    #36237498
afx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alvalandrМожет стоит AutoEventWireUp = false? Бряку поставьте, событие то возбуждается?
AutoEventWireUp = false - где это делается?
...
Рейтинг: 0 / 0
Создание UserControl
    #36239045
elwood
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> AutoEventWireUp = false - где это делается?
видимо в aspx файле, куда кинули контрол.<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="testDDLcontrol.WebForm1" %>
...
Рейтинг: 0 / 0
Создание UserControl
    #36243685
afx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elwood>> AutoEventWireUp = false - где это делается?
видимо в aspx файле, куда кинули контрол.<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="testDDLcontrol.WebForm1" %>



Спасибо, но всё равно ничего не изменилось...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Создание UserControl
    #38891892
bodzo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проверь ID списка, если не ошибаюсь к нему автоматически добавляется приставка (название контрола) т.е. ID будет Webusercontrol_DroDownList2. Это если обращаться к нему со страницы а не с контрола))
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Создание UserControl
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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