powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / После загрузки страницы пропадает значение SelectComand в SQLDataSource
6 сообщений из 6, страница 1 из 1
После загрузки страницы пропадает значение SelectComand в SQLDataSource
    #38577558
DmitriyVKPI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Почему пропадает, мне понятно. Непонятно при каком событии лучше снова задать.
Объявлен SqlDataSource:
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:KPIdb %>" SelectCommand="SELECT count(*) AS count1,'Факт' as position FROM documents AS doc,partners AS part WHERE doc.partner_id = part.partner_id AND doc.date > DATEADD(day,-14,getdate()) UNION ALL SELECT count(*)*(SELECT set3 FROM kpi_set WHERE kpi_id = 1)/100 AS count1,'План' as position FROM staff, partners
WHERE partners.staff_id = staff.staff_id" OnDataBinding="SqlDataSource2_DataBinding" OnInit="SqlDataSource2_Init" OnLoad="SqlDataSource2_Load" OnPreRender="SqlDataSource2_PreRender" OnSelecting="SqlDataSource2_Selecting">
<SelectParameters>
<asp:Parameter DefaultValue="getdate()" Name="chDate" />
</SelectParameters>
</asp:SqlDataSource>
Также есть DropDownList
автор<asp:DropDownList ID="DropDownList1" runat="server" Height="25px" Width="55px" CssClass="auto-style47" style="text-align: right" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
</asp:DropDownList>
При смене индекса DropDownList вызывается функция для назначения строки Select SqlDataSource, в которой в качестве параметра используется выделенный элемент DropDownList.
Текст функции:
авторprotected void SelectQuery()
{
SQLDataSource.SelectCommand = "........................."
}
Проблема в том, что в момент загрузки страницы, SQLDataSource использует команду SELECT, которая определена в её свойствах, а мне нужно, чтобы до вызова SELECT была сформирована строка из SelectQuery.
Вариант с назначением неизменной строки с применением параметров при объявлении SQLDataSource не подходит.
Интуитивно понимаю, что необходимо вызывать SelectQuery во время события инициализации или загрузки страницы, однако, подставляя её вызов в Page_Load или Page_Init не получаю желаемого результата.
В вызов какого события посоветуете подставить SelectQuery??
...
Рейтинг: 0 / 0
После загрузки страницы пропадает значение SelectComand в SQLDataSource
    #38577568
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
После загрузки страницы пропадает значение SelectComand в SQLDataSource
    #38577579
DmitriyVKPI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Паганель, спасибо за ответ.
Про такой способ знаю.
Мне такой способ не совсем подходит.
Помимо dropdownlist есть еще listbox, в котором используется multiselect.
А больше одного выбранного параметра Listbox передать не получается, если использовать стандартные методы связки.
В моей функции select_query()
строка SELECT динамически собирается к виду:
..... WHERE id IN (выделенный элемент1, выделенный элемент2) и назначается SqlDataSource.SelectCommand
Если использовать параметр, то будет возвращен лишь один элемент с наименьшим индексом.
...
Рейтинг: 0 / 0
После загрузки страницы пропадает значение SelectComand в SQLDataSource
    #38577605
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуйте сделать просто текстовый параметр и менять ему DefaultValue (хоть в PageLoad)
применение см. здесь: http://www.sql.ru/articles/mssql/03060701arraysandlistsinsqlserver.shtml
...
Рейтинг: 0 / 0
После загрузки страницы пропадает значение SelectComand в SQLDataSource
    #38577607
DmitriyVKPI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приношу извинения, не multiselect
а значение SelectMethod=multiple у ListBox
...
Рейтинг: 0 / 0
После загрузки страницы пропадает значение SelectComand в SQLDataSource
    #38577641
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmitriyVKPI,

...если вы меняете селект, то зачем вы вообще прописываете его жестко в разметке? .. просто в PageLoad присвойте SelectCommand в разных вариантах if (!Page.IsPostBack)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / После загрузки страницы пропадает значение SelectComand в SQLDataSource
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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