powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Почему не держится значение у контрола
17 сообщений из 17, страница 1 из 1
Почему не держится значение у контрола
    #38316814
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Недавно писал о проблеме с DropDown особенно когда кликаю по кнопке то выделеный item сбрасывается и всегда выделенный остается первый item. Вот переписал код но результата 0, не могу понять почему сбрасывается выделение.

И так есть 2 DropDown

1 ddReg - выбор региона
2 ddDep - выбор отделения

ddReg - заполняется при первой загрузке страницы (с ним проблем нет) а ddDep заполняется при выбранном ddReg.SelectedValue

Обработчик ddReg

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
protected void DropDownReg_SelectedIndexChanged(object sender, EventArgs e)
    {
if (ddReg.SelectedValue != "0")
        {
            ddDep.Items.Clear();
            ddDep.DataSource = new FilterDepartment().Filter(Int64.Parse(ddReg.SelectedValue));//FilterDepartment - это клас куда передаются данные и потом возвращаются уже отфильтрованные список отделений региона
            ddDep.DataBind();
            ddDep.Items.Insert(0, new ListItem("<-выберите отделение->", "0"));
        }
    }



Код: c#
1.
2.
3.
4.
5.
6.
7.
protected void bSend_Click(object sender, EventArgs e)//Здесь мне нужно отсылать письма на отделения
    {
if (ddDep.SelectedValue != "0") 
        {
            //но вот проблема выделенное значение ddDep всегда сбрасывается то есть всегда выделяется первый пункт (EnableViewState="True")
        }
    }



Подскажите что неправильно потому что я не могу найти

Спасибо.
...
Рейтинг: 0 / 0
Почему не держится значение у контрола
    #38316916
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708,

у ddDep AutoPostback=false ?
...
Рейтинг: 0 / 0
Почему не держится значение у контрола
    #38316978
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik,

пробовал не помогло

Прогоняя код через debug
Я заметил что всегда сначала отрабатывает событие

Page_Load но здесь ничего нет

protected void Page_Load(object sender, EventArgs e)
{

}

а потом событие кнопки но там выделение сбросилось на первый item хотя такой же код есть еще на одной странице но там все работает нормально
...
Рейтинг: 0 / 0
Почему не держится значение у контрола
    #38317014
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708,

на странице AutoEventWireup="true" ?
...
Рейтинг: 0 / 0
Почему не держится значение у контрола
    #38317047
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotikVIT2708,

на странице AutoEventWireup="true" ?

по умолчанию стоит true и я его не менял
...
Рейтинг: 0 / 0
Почему не держится значение у контрола
    #38317066
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708carrotikVIT2708,

на странице AutoEventWireup="true" ?

по умолчанию стоит true и я его не менял

... там никакой UpdatePanel нету, случайно? .. просто смотрю на свой аналогичный код - два выпадающих списка, один заполняется по событию другого, все работает ... что там еще может быть?
...
Рейтинг: 0 / 0
Почему не держится значение у контрола
    #38317070
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotikVIT2708пропущено...


по умолчанию стоит true и я его не менял

... там никакой UpdatePanel нету, случайно? .. просто смотрю на свой аналогичный код - два выпадающих списка, один заполняется по событию другого, все работает ... что там еще может быть?

Вообще то есть!!!!!!!!!!!!!!!!!!
...
Рейтинг: 0 / 0
Почему не держится значение у контрола
    #38317081
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik,

У меня страница написана вот так см. Рисунок

Но проблема в том что список регионов работает нормально (если выбрал какой то регион то это значение и осталось)
...
Рейтинг: 0 / 0
Почему не держится значение у контрола
    #38317102
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давно бы уже приаттачил пример проекта в архиве вместо того, чтобы постить сумасшедшие картинки, которые даже в пьяном бреду не приснятся.
...
Рейтинг: 0 / 0
Почему не держится значение у контрола
    #38317104
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708,

..не, с юзер-контролами я вам не подскажу, только вот что нагуглил, посмотрите

http://stackoverflow.com/questions/12731786/asp-net-c-sharp-dropdown-list-by-using-user-control

..там в ascx объявляется паблик-функция, которая возвращает значение выпадающего списка, а из aspx-страницы дергается уже эта функция ... может, это ваш случай..
...
Рейтинг: 0 / 0
Почему не держится значение у контрола
    #38317216
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotikVIT2708,

..не, с юзер-контролами я вам не подскажу, только вот что нагуглил, посмотрите

http://stackoverflow.com/questions/12731786/asp-net-c-sharp-dropdown-list-by-using-user-control

..там в ascx объявляется паблик-функция, которая возвращает значение выпадающего списка, а из aspx-страницы дергается уже эта функция ... может, это ваш случай..

похож у меня тоже есть public ф-ии которые заполняются справочниками при первом старте страницы.

Может студия у меня глючит другого обьяснения не вижу

Спасибо
...
Рейтинг: 0 / 0
Почему не держится значение у контрола
    #38317308
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik,

Кстати если сделать так

Код: plaintext
1.
2.
3.
4.
5.
<asp:DropDownList ID="ddDep" Width="240px" Visible="False" runat="server" DataValueField="rMail" DataTextField="dName" AutoPostBack="False" OnSelectedIndexChanged="DropDownDepart_SelectedIndexChanged">
<asp:ListItem Text="111" Value="111"></asp:ListItem>
<asp:ListItem Text="222" Value="222"></asp:ListItem>
<asp:ListItem Text="333" Value="333"></asp:ListItem>
</asp:DropDownList>



если в коде разметки заранее внести все пункты то выделение держится а вот если программно заполнять DropDownList то нет

ASPX(CS)

Код: c#
1.
2.
3.
4.
5.
public DepCollection DepList  //DepCollection это клас - public class DepCollection : List<Departments> {}
    {
        set { ViewState["dpc"] = value; }
        get { return (DepCollection)ViewState["dpc"]; }
    }



Код: c#
1.
2.
3.
4.
5.
6.
7.
protected void DropDownReg_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (ddReg.SelectedValue != "0")
        {
            FillDepartments();
        }
    }



Код: c#
1.
2.
3.
4.
5.
6.
7.
private void FillDepartments()
    {
        ddDep.Items.Clear();
        ddDep.DataSource = new FilterDepartment().Filter(Int64.Parse(ddReg.SelectedValue), DepList);
        ddDep.DataBind();
        ddDep.Items.Insert(0, new ListItem("<-выберите отделение->", "0"));
    }




Класс FilterDepartment

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
public class FilterDepartment
{
    public DepCollection Filter(Int64 regionId, DepCollection dd)
    {
        DepCollection dc = new DepCollection();
        foreach (Departments d in dd)
        {
            if (d.regionId == regionId) { dc.Add(d); }
        }
        return dc;
    }
}
...
Рейтинг: 0 / 0
Почему не держится значение у контрола
    #38317404
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708carrotik,


Код: c#
1.
2.
3.
4.
protected void Page_Load(object sender, EventArgs e)
    {
             FillDepartments();
    }




И будет тебе счастье.
...
Рейтинг: 0 / 0
Почему не держится значение у контрола
    #38317632
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВVIT2708carrotik,


Код: c#
1.
2.
3.
4.
protected void Page_Load(object sender, EventArgs e)
    {
             FillDepartments();
    }




И будет тебе счастье.

Невозможно это сделать так как еще не выбран регион и будет ругань на

ddDepart.DataSource = new FilterDepartment().Filter(Int64.Parse(ddRegion.SelectedValue), DepList);
...
Рейтинг: 0 / 0
Почему не держится значение у контрола
    #38317639
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708,

в виде частичного офтопа, но все же ... а это так обязательно использовать этот юзер-контрол? .. в данном конкретном случае не проще поместить эту форму редактирования в div runat=server, да и делать ему .Visible=true/false в зависимости от ситуации?
...
Рейтинг: 0 / 0
Почему не держится значение у контрола
    #38317655
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotikVIT2708,

в виде частичного офтопа, но все же ... а это так обязательно использовать этот юзер-контрол? .. в данном конкретном случае не проще поместить эту форму редактирования в div runat=server, да и делать ему .Visible=true/false в зависимости от ситуации?

да тут проблем не в отображении а именно в том что бы запомнить выделенный item если на странице разметки закодировать список то работает а если программно то нет

Ну будем экспериментировать

Спасибо
...
Рейтинг: 0 / 0
Почему не держится значение у контрола
    #38317668
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708,

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


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