powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Получение значения из jquery datepicker.
19 сообщений из 19, страница 1 из 1
Получение значения из jquery datepicker.
    #38555230
Giker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток. В 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
Получение значения из jquery datepicker.
    #38555354
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поставьте точку останова в начало этого метода и посмотрите что внутри Request.Form
...
Рейтинг: 0 / 0
Получение значения из jquery datepicker.
    #38555463
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Giker,

...есть мнение, что надо бы в ASPX сделать RegisterHiddenField, а в дейтпикере прописать метод onSelect, который будет записывать $.('#DTF').datepicker.val() в это потаенное поле, а уж серверный код до него доберется просто по имени ...
...
Рейтинг: 0 / 0
Получение значения из jquery datepicker.
    #38556061
Giker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Получение значения из jquery datepicker.
    #38556065
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GikerКак быть?постасить точку.... ну в общем я уже говорил
...
Рейтинг: 0 / 0
Получение значения из jquery datepicker.
    #38556104
Giker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Паганель,
точку поставил имею такие данные:
Код: 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
Получение значения из jquery datepicker.
    #38556115
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Giker,

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

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

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

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

...подождите-ка ... индексация столбцов в гриде с 0 начинается .. А вы во второй ищете
...
Рейтинг: 0 / 0
Получение значения из jquery datepicker.
    #38556159
Giker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Паганель,
Действительно странно, но я пробежался по всем строкам, но значений в этих яч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
Получение значения из jquery datepicker.
    #38556169
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
смотрите какая еще есть работа с Gridview
может оно где-то перебиндивается...
...
Рейтинг: 0 / 0
Получение значения из jquery datepicker.
    #38556175
Giker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Паганель,
Спасибо за идею. Оказывается когда я нажимаю кнопку "Update" сначала вызывается Page_Load, где у меня стоит перегрузка данных из базы, а только потом Grid_RowCommand. Только не понятно почему все работает именно так.
...
Рейтинг: 0 / 0
Получение значения из jquery datepicker.
    #38556176
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IsPostBack проверяйте на Page_Load
...
Рейтинг: 0 / 0
Получение значения из jquery datepicker.
    #38556187
Giker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotic, спасибо.
Паганель, Огромное вам СПАСИБО. Данные получить теперь могу.
Если не встречу каких нибудь других проблем, то тема закрыта
...
Рейтинг: 0 / 0
Получение значения из jquery datepicker.
    #38556188
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GikerПаганель,
Спасибо за идею. Оказывается когда я нажимаю кнопку "Update" сначала вызывается Page_Load, где у меня стоит перегрузка данных из базы, а только потом Grid_RowCommand. Только не понятно почему все работает именно так.Таков жизненный цикл страницы ASP.NET : события элементов управления возникают после Load.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Получение значения из jquery datepicker.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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