Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как передать параметр в SqlDataSource при клике на Lable / 7 сообщений из 7, страница 1 из 1
16.09.2013, 06:00
    #38397257
xaly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать параметр в SqlDataSource при клике на Lable
Уважаемые форумчане, помогите разобраться с проблемой!

На странице есть Lablе, при клике на нем открывается всплываюшая анимация в которой рисуется диаграмма chart, источником данных для которой служит SqlDataSource.
Вопрос в том, как передать в него числовой параметр?
Попробовала через HiddenFieldPar и присваивать js, но SqlDataSource почемуто его не воспринемает.
Подобных lable, на странице предполагается порядка 50 шт, при клике на каждом свой параметр.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
 <script type="text/javascript" language="javascript">
        function Cover(bottomm, topp, ignoreSize) { // это координаты анимации
            var location = Sys.UI.DomElement.getLocation(bottomm);
            topp.style.position = 'absolute';
            topp.style.top =  location.y+ 'px';
            topp.style.left = location.x + 'px';
                      
            if (!ignoreSize) {
                top.style.height = bottom.offsetHeight + 'px';
                top.style.width = bottom.offsetWidth + 'px';
            }
            getpar();
        }

        function getpar() //здесь пытаюсь в скрытое поле передать нужный мне параметр.
        {
          document.getElementById("HiddenFieldPar").value = 254; 
        }
        </script


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
 <asp:Label ID="Label254" runat="server" Text="254"   OnClientClick="return false;"
        style =" position:absolute; top:222px; left:40px; width:24px; height:13px; background-color: transparent; color:White;  font-family:Arial; font-size:10pt" 
            ClientIDMode="Static" ></asp:Label>

        <asp:Panel ID="pnl254" runat="server" CssClass="pnl" ClientIDMode="Static">
                <div  id="btnCloseParent254" style="float: right;"><asp:LinkButton ID="btnClose254" runat="server" OnClientClick="return false;">Закрыть</asp:LinkButton></div>
                   
            <asp:Chart ID="Chart254" runat="server" DataSourceID="SqlDataSourceGraf" 
                Height="400px" Width="546px" BorderlineColor="Transparent" 
                BorderlineDashStyle="Solid">
                <Series>
                    <asp:Series Name="Series1" ChartType="Line" XValueMember="D_START" 
                        YValueMembers="VAL" BackSecondaryColor="Blue" MarkerColor="Blue">
                        <SmartLabelStyle CalloutLineColor="Indigo" IsMarkerOverlappingAllowed="True" />
                    </asp:Series>
                </Series>
                <ChartAreas>
                    <asp:ChartArea Name="ChartArea1" BackColor="White" 
                        IsSameFontSizeForAllAxes="True" BorderColor="White" BorderDashStyle="Dash">
                        <AxisY TextOrientation="Rotated270" Title="Параметр" TitleAlignment="Far" 
                            TitleForeColor="Gray" Crossing="Min" Enabled="True" IsLabelAutoFit="False" 
                            IsMarginVisible="False" IsMarksNextToAxis="False">
                            <MinorGrid Enabled="True" LineColor="DarkGray" />
                            <LabelStyle Interval="Auto" IntervalOffset="Auto" IntervalOffsetType="Auto" />
                        </AxisY>
                        <AxisX IsLabelAutoFit="False" 
                            TextOrientation="Horizontal" Title="Время" TitleAlignment="Far" 
                            TitleForeColor="Gray" Crossing="Min" Enabled="True" 
                            IsMarginVisible="False" IsMarksNextToAxis="False">
                            <MinorGrid LineColor="DarkGray" Enabled="True" />
                            <LabelStyle Angle="-30" Font="Microsoft Sans Serif, 8.25pt" 
                                Format="dd.MM.yyyy HH:mm" Interval="Auto" IntervalType="Minutes" />
                        </AxisX>
                        <InnerPlotPosition Height="71.89411" Width="80.29147" X="16" Y="6" />
                    </asp:ChartArea>
                </ChartAreas>
                <Titles>
                    <asp:Title Name="Title1" Text="Изменение значений параметров">
                    </asp:Title>
                </Titles>
            </asp:Chart>
            
 
        </asp:Panel>
            <asp:AnimationExtender ID="OpenAnimation254" runat="server"  Enabled="True" 
            TargetControlID="Label254" >
               <Animations>
            <OnClick>
               <Sequence AnimationTarget="pnl254">
               <ScriptAction Script="Cover($get('Label254'), $get('pnl254'), true);" />
               <StyleAction AnimationTarget="pnl254" Attribute="display" Value="block"/>
               <FadeIn AnimationTarget="pnl254" Duration=".2"/>
               <Resize Width="550" Height="400" />
             </Sequence>
            </OnClick>
            </Animations>
            </asp:AnimationExtender>
            <asp:AnimationExtender id="CloseAnimation254" runat="server" 
            TargetControlID="btnClose254" >
            <Animations>
                <OnClick>
                   <Sequence AnimationTarget="pnl254">
                   <StyleAction Attribute="overflow" Value="hidden"/>
                     <Parallel Duration=".3" Fps="15">
                            <Scale ScaleFactor="0.05" Center="true" ScaleFont="true" FontUnit="px" />
                            <FadeOut />
                     </Parallel>
                        <StyleAction Attribute="display" Value="none"/>
                        <StyleAction Attribute="width" Value="100px"/>
                        <StyleAction Attribute="height" Value=""/>
                        <StyleAction Attribute="fontSize" Value="12px"/>
                      </Sequence>
                   
                </OnClick>
                <OnMouseOver>
                    <Color Duration=".2" PropertyKey="color" StartValue="#FFFFFF" EndValue="#FF0000" />
                </OnMouseOver>
                <OnMouseOut>
                    <Color Duration=".2" PropertyKey="color" StartValue="#FF0000" EndValue="#FFFFFF" />
                </OnMouseOut>
             </Animations>

 <asp:HiddenField ID="HiddenFieldPar" runat="server" ClientIDMode="Static" 
       </asp:AnimationExtender>
...
Рейтинг: 0 / 0
16.09.2013, 09:04
    #38397295
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать параметр в SqlDataSource при клике на Lable
Переделать Label на LinkButton пробовали?
...
Рейтинг: 0 / 0
16.09.2013, 09:46
    #38397334
xaly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать параметр в SqlDataSource при клике на Lable
кстати, как вариант можно попробовать.
но я нашла решение, не надо в этом случае изголяться с JavaScript, а просто инициализировать параметры в
Код: c#
1.
2.
3.
4.
  protected void Chart254_Init(object sender, EventArgs e)
    {
        HiddenFieldPar.Value = "254";
    }
...
Рейтинг: 0 / 0
16.09.2013, 09:47
    #38397335
xaly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать параметр в SqlDataSource при клике на Lable
Паганель, спасибо за идею.
...
Рейтинг: 0 / 0
16.09.2013, 11:09
    #38397438
xaly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать параметр в SqlDataSource при клике на Lable
C Chart254_Init , тоже не получаетс, так как lable будет много, а init происходит во время загрузки страницы а не во время открытия анимации
...
Рейтинг: 0 / 0
16.09.2013, 11:24
    #38397455
xaly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать параметр в SqlDataSource при клике на Lable
Паганель, переделала на LinkButton, тоже немомагает.
Т.к. мне надо чтоб открылась анимация, тогда необходимо у элемента указать OnClientClick="return false;", тогда глушиться постбак, и серверное событие клик не происходит
...
Рейтинг: 0 / 0
16.09.2013, 11:38
    #38397481
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать параметр в SqlDataSource при клике на Lable
на клик по элементу посредством jS можно навесить множество обработчиков
например, с помощью jquery
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как передать параметр в SqlDataSource при клике на Lable / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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