Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Получение значения из jquery datepicker. / 19 сообщений из 19, страница 1 из 1
10.02.2014, 08:03
    #38555230
Giker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение значения из jquery datepicker.
Доброго времени суток. В Asp совсем недавно, помогите пожалуйста разобрать с datepicker.
Итак, есть GridView одним из полей которого является jquery datepicker, другое поле-кнопка при нажатии на кнопку дава выбранная пользователем должна вставляться в базу.

Код: xml
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.
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
    <link href="<%= Page.ResolveClientUrl("~/Styles/smoothness/jquery-ui-1.10.4.custom.min.css") %>" rel="stylesheet" />
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <script type="text/javascript" src="<%= Page.ResolveClientUrl("~/Scripts/jquery-ui-1.10.4.custom.min.js") %>"></script>
    <script type="text/javascript" src="<%= Page.ResolveClientUrl("~/Scripts/jquery.ui.core.js") %>"></script>
    <script type="text/javascript" src="<%= Page.ResolveClientUrl("~/Scripts/jquery.ui.widget.js") %>"></script>
    <script type="text/javascript" src="<%= Page.ResolveClientUrl("~/Scripts/jquery.ui.datepicker.js") %>"></script>
    <asp:GridView ID="Grid"  runat="server"  AutoGenerateColumns="False" AllowPaging="True" DataKeyNames="UserID" 
        OnRowCommand="Grid_RowCommand" OnRowDataBound="Grid_RowDataBound">
        <Columns>
            <asp:TemplateField HeaderText="ExpirationDate">
                <ItemTemplate>
                    <asp:TextBox ID="DateTextBox" runat="server" Text='<%# Bind("Date", "{0:d}") %>' Class ="DTP"></asp:TextBox>                              
                </ItemTemplate> 
            </asp:TemplateField>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:LinkButton ID="UpdateButton" CommandName="Update" Text="Update" ButtonType="Button" runat="server" 
                        CommandArgument="<%# ((GridViewRow) Container).RowIndex %>">
                    </asp:LinkButton>
                </ItemTemplate> 
            </asp:TemplateField>             
        </Columns>
    </asp:GridView>
</asp:Content>

 <script type="text/javascript">
        $(function () {
            $('.DTP').datepicker({dateformat: 'dd/mm/yyyy'})
        })
    </script>



При нажатии на кнопку хочется получить данные которые пользователь указал в datepicker

Код: c#
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.
protected void Grid_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            e.Handled = true;
            int rowNumber;
            if (int.TryParse((string)e.CommandArgument, out rowNumber))
            {
                switch (e.CommandName)
                {
                    case "Update":
                        TextBox dtb =Grid.Rows[rowNumber].Cells[1].FindControl("DateTextBox") as TextBox;
                        if (dtb == null)
                            return;
                        string dateValueStr = dtb.Text; // здесь получаю пустую строку
                        DateTime date;
                        try
                        {
                            date = Convert.ToDateTime(dateValueStr);
                        }
                        catch (FormatException)
                        {
                            dtb.Text = "Date is not in the proper format";
                            return;
                        }
                        database.Update(Grid.DataKeys[rowNumber].Value.ToString(), date);
                        reload();
                        break;
                }
            }
        }



Объясните пожалуйста как получать в C# данные из datepickera. Спасибо.
...
Рейтинг: 0 / 0
10.02.2014, 10:40
    #38555354
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение значения из jquery datepicker.
Поставьте точку останова в начало этого метода и посмотрите что внутри Request.Form
...
Рейтинг: 0 / 0
10.02.2014, 12:03
    #38555463
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение значения из jquery datepicker.
Giker,

...есть мнение, что надо бы в ASPX сделать RegisterHiddenField, а в дейтпикере прописать метод onSelect, который будет записывать $.('#DTF').datepicker.val() в это потаенное поле, а уж серверный код до него доберется просто по имени ...
...
Рейтинг: 0 / 0
10.02.2014, 17:21
    #38556061
Giker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение значения из jquery datepicker.
carrotik, сделал так как вы говорили:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<script type="text/javascript">
        $(function () {
            $('.DTP').datepicker({
                dateformat: 'dd/mm/yyyy',
                onSelect: function (date, inst) {
                    var date = $('.DTP').datepicker('getDate');
                    $('HiddenField').val = date;
                }

            });
        })
    </script>



Результат тот же (. Как быть?
...
Рейтинг: 0 / 0
10.02.2014, 17:23
    #38556065
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение значения из jquery datepicker.
GikerКак быть?постасить точку.... ну в общем я уже говорил
...
Рейтинг: 0 / 0
10.02.2014, 17:47
    #38556104
Giker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение значения из jquery datepicker.
Паганель,
точку поставил имею такие данные:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
+		Request.Form	{__EVENTTARGET=ctl00%24MainContent%24Grid%24ctl02%24UpdateButton&__EVENTARGUMENT=&__VIEWSTATE=7DU1xUODxJWAs1XMHU8lSdH8iTcPsGUCStl6k
%2b%2blx8fk586HZjrhuZpE2U4RJJ8b2M1SKdF5TMo0Kfi0SsLYeSdVueRNBRYYtTRsAxgtmzxOvljdHHRkSUloKrBPLHvwqnixXKZVYoVVrSsME2pwIv
%2fSpcwJRk4l1Tw5vHqWDzN%2bXevzSVNBqtr%2bwVTarGlwhNtk2exQuFyWdIsXnm7umcntROrvj%2fasr%2baFsWwzPt2bI07qlhmUwQLHO23e
LaYURp9ZOdw40Vb0h%2fM%2bWIRse4XP0XNky9c9x0bx6C%2bSaMo8ssYAKpQ2pHzSjbryWn9ZRZ6SPYyc5k0N40SuSujraa%2frKmiPd6wzX4N
NzdAx2mEbU1NsErq7wKdSj31RdBDlNuibLBlhehsZ%2bmm1%2bbLrewgsqoF6owaWzsJTPam1v6URx7dSBda0RUM8UGw30pe%2bflIrYd1e3S6z3u0
WGXeowM5FJkQ%2bhL3%2fK5eAnb%2f6RQVHBZFyNBCjdCeIRVvEkrj7spH7qOqTAnmsKWTxIuh7TmEUky%2bpevsd4jFGZEtrwuBLcf8DYIAPfymt
aYBarRoWJJj1tPpCeuC1Lm52LBUgyLwGzO7UNO2
%2b%2bTI0i%2fhL3wT8Ph6O7cpdpXruvLGrACHPEeSlhSW4QWOocAoHmh50FSLIXmQ5X%2f7EBkwnXe5awY6vwyZqRNQvJVaFfoYJKOaNIJ42oz
ZwHX4tv6Rldy46CB6U9zsa7GqcwEz3yS3d52P13FaYo7otoYD%2fO9e7Z3gakAp1VL0s8XIc9pzyyp8ItPtv0beVTgKkkW8100aoatAvKNmYc0FtbIP
5ret43qtUOiVcQs1cYnnLUBSQIgMsuA4s8MDZqpsqv9eeIuDUcN0wgSD%2bunGwgGOYCVLn4IbDT8wGN10Ydx9iPXv%2fVZXACzenRMA%3d&ctl00%24MainContent%24Grid%24ctl02%24DateTextBox=02%2f11%2f2014&ctl00%24MainContent%24Grid%24ctl02%24HiddenField=&
ctl00%24MainContent%24Grid%24ctl03%24ExpirationDateTextBox=&ctl00%24MainContent%24Grid%24ctl03%24HiddenField=&
__VIEWSTATEENCRYPTED=&
__EVENTVALIDATION=Yy95LcIG5FDergr8Gcrjrss1aS5I3KOedTQE8mKlndQdfdGe1d7gyuj6ZfsiXx87UAGkCVyLE2ufmRmHEgxZTfCj%2fQAtgulq3C
pirGxMEfNhGTAIsEFA9ku%2fudgZ3dUTow6ViGaRvFIAQBUNGf%2fdr53zcE7enmbhPQX%2foIXRdnmNVikF03nhq4gio1oe8%2b84pT8YDmUEOym
MGhp6fAniGjm19Mstxrm1hNgOWSedmpgk8OdPtANVzsVhBHEfGe3pCt7MHg%3d%3d}	System.Collections.Specialized.NameValueCollection 
{System.Web.HttpValueCollection}



О чем это говорит?
...
Рейтинг: 0 / 0
10.02.2014, 17:52
    #38556115
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение значения из jquery datepicker.
Giker,

...если я не ошибаюсь, надо $("#datepicker").datepicker('getDate').getDate();
или просто $("#datepicker").datepicker().val() - я сам второй вариант использую ...
...
Рейтинг: 0 / 0
10.02.2014, 17:54
    #38556119
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение значения из jquery datepicker.
то, что в фигурных скобках, я вставил в http://meyerweb.com/eric/tools/dencoder/
и увидел
...ctl00$MainContent$Grid$ctl02$DateTextBox=02/11/2014...
Если это именно та дата, которая вводилась, то с клиента данные приходят

В таком случае ставьте точку останова под строкой case "Update" и смотрите - что у Вас в первой ячейке первой строки, что во второй ячейке второй строки....

ЗЫ FindControl можно вызывать у всей строки, не обязательно у ячейки
...
Рейтинг: 0 / 0
10.02.2014, 18:06
    #38556135
Giker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение значения из jquery datepicker.
Паганель,
да это именно та дата
Значения ячеек соотвествующие датам я посморел, они пустые.

carrotik,
Все без изменений.
...
Рейтинг: 0 / 0
10.02.2014, 18:08
    #38556138
Giker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение значения из jquery datepicker.
Насколько я понимаю вопрос проблема в том что данные находятся в datepiker, а не в гриде и не в textbox.
...
Рейтинг: 0 / 0
10.02.2014, 18:10
    #38556141
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение значения из jquery datepicker.
странно, чего это они пустые...
пересмотрите все строки, может, ошибка в номере строки
...
Рейтинг: 0 / 0
10.02.2014, 18:11
    #38556144
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение значения из jquery datepicker.
GikerНасколько я понимаю вопрос проблема в том что данные находятся в datepiker, а не в гриде и не в textbox.ну я же привел строку, указывающую, что данные в textbox есть
...
Рейтинг: 0 / 0
10.02.2014, 18:17
    #38556149
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение значения из jquery datepicker.
Giker,

...подождите-ка ... индексация столбцов в гриде с 0 начинается .. А вы во второй ищете
...
Рейтинг: 0 / 0
10.02.2014, 18:29
    #38556159
Giker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение значения из jquery datepicker.
Паганель,
Действительно странно, но я пробежался по всем строкам, но значений в этих ячeйках нет.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
string value;
for (int i = 0; i < Grid.Rows.Count; ++i)
{
    TextBox dtb1 = Grid.Rows[i].FindControl("DateTextBox") as TextBox;
    if (dtb1 == null)
        continue;
    value = dtb1.Text;
}
...
Рейтинг: 0 / 0
10.02.2014, 18:38
    #38556169
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение значения из jquery datepicker.
смотрите какая еще есть работа с Gridview
может оно где-то перебиндивается...
...
Рейтинг: 0 / 0
10.02.2014, 18:44
    #38556175
Giker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение значения из jquery datepicker.
Паганель,
Спасибо за идею. Оказывается когда я нажимаю кнопку "Update" сначала вызывается Page_Load, где у меня стоит перегрузка данных из базы, а только потом Grid_RowCommand. Только не понятно почему все работает именно так.
...
Рейтинг: 0 / 0
10.02.2014, 18:45
    #38556176
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение значения из jquery datepicker.
IsPostBack проверяйте на Page_Load
...
Рейтинг: 0 / 0
10.02.2014, 18:57
    #38556187
Giker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение значения из jquery datepicker.
carrotic, спасибо.
Паганель, Огромное вам СПАСИБО. Данные получить теперь могу.
Если не встречу каких нибудь других проблем, то тема закрыта
...
Рейтинг: 0 / 0
10.02.2014, 18:57
    #38556188
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение значения из jquery datepicker.
GikerПаганель,
Спасибо за идею. Оказывается когда я нажимаю кнопку "Update" сначала вызывается Page_Load, где у меня стоит перегрузка данных из базы, а только потом Grid_RowCommand. Только не понятно почему все работает именно так.Таков жизненный цикл страницы ASP.NET : события элементов управления возникают после Load.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Получение значения из jquery datepicker. / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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