Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
После загрузки страницы пропадает значение SelectComand в SQLDataSource
|
|||
|---|---|---|---|
|
#18+
Добрый день! Почему пропадает, мне понятно. Непонятно при каком событии лучше снова задать. Объявлен 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?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 11:52 |
|
||
|
После загрузки страницы пропадает значение SelectComand в SQLDataSource
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 11:55 |
|
||
|
После загрузки страницы пропадает значение SelectComand в SQLDataSource
|
|||
|---|---|---|---|
|
#18+
Паганель, спасибо за ответ. Про такой способ знаю. Мне такой способ не совсем подходит. Помимо dropdownlist есть еще listbox, в котором используется multiselect. А больше одного выбранного параметра Listbox передать не получается, если использовать стандартные методы связки. В моей функции select_query() строка SELECT динамически собирается к виду: ..... WHERE id IN (выделенный элемент1, выделенный элемент2) и назначается SqlDataSource.SelectCommand Если использовать параметр, то будет возвращен лишь один элемент с наименьшим индексом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 12:08 |
|
||
|
После загрузки страницы пропадает значение SelectComand в SQLDataSource
|
|||
|---|---|---|---|
|
#18+
попробуйте сделать просто текстовый параметр и менять ему DefaultValue (хоть в PageLoad) применение см. здесь: http://www.sql.ru/articles/mssql/03060701arraysandlistsinsqlserver.shtml ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 12:25 |
|
||
|
После загрузки страницы пропадает значение SelectComand в SQLDataSource
|
|||
|---|---|---|---|
|
#18+
Приношу извинения, не multiselect а значение SelectMethod=multiple у ListBox ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 12:26 |
|
||
|
После загрузки страницы пропадает значение SelectComand в SQLDataSource
|
|||
|---|---|---|---|
|
#18+
DmitriyVKPI, ...если вы меняете селект, то зачем вы вообще прописываете его жестко в разметке? .. просто в PageLoad присвойте SelectCommand в разных вариантах if (!Page.IsPostBack) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 12:46 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38577605&tid=1357605]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
34ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 325ms |

| 0 / 0 |
