Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Создание UserControl / 11 сообщений из 11, страница 1 из 1
06.10.2009, 22:27
    #36236186
afx
afx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание UserControl
Здравствуйте!
Такая проблема возникла : создаю собственный 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
06.10.2009, 22:49
    #36236208
ow
ow
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание UserControl
Ты что хочешь то?
Объясни логику:
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
06.10.2009, 23:20
    #36236228
afx
afx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание UserControl
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
07.10.2009, 06:28
    #36236374
alvalandr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание UserControl
Если хотите заполнить статическими значениями, почему их просто не прописать в коллекции Items? Зачем их в коде добавлять?
...
Рейтинг: 0 / 0
07.10.2009, 10:50
    #36236734
afx
afx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание UserControl
alvalandrЕсли хотите заполнить статическими значениями, почему их просто не прописать в коллекции Items? Зачем их в коде добавлять?

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



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


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