Отображение свойства DateTime в FormPanelForModel()

29 views
Skip to first unread message

Viktor Sirchenko

unread,
Jul 15, 2014, 1:01:25 PM7/15/14
to ext...@googlegroups.com
Всем привет, пытаюсь получить форму с полем для ввода даты, делаю так же как описано в примере http://mvc.ext.net/#/Models/FormPanelFor/

Вот мой класс:

    public class ExRate
    {
        [HiddenInput(DisplayValue = false)]
        public Int32 ID { get; set; }

        public DateTime Date { get; set; }

Вот view:

    @(Html.X().Window()
    .ID("wndExRate")
    .Title(ViewBag.Title)
    .Width(400)
    .Height(122)
    .Plain(true)
    .Layout(LayoutType.Fit)
    .Items(Html.X().FormPanelForModel()
        .BodyPadding(5)
        .DefaultAnchor("100%")
        .Buttons(Html.X().Button()
            .Text("Сохранить")
            .DirectClickUrl(Url.Action("Create"))
        )
    )
)

при вызове этой view получаю ошибку - 
An exception of type 'System.FormatException' occurred in mscorlib.dll but was not handled in user code
Additional information: Input string was not in a correct format.

при указании в Модели аннотации:
[DataType(DataType.Date)]
public DateTime Date { get; set; }

получаю ошибку:
An exception of type 'System.FormatException' occurred in mscorlib.dll but was not handled in user code
Additional information: String was not recognized as a valid DateTime.

в чем прикол, может для этого типа тоже какой то Template надо делать?

Daniil Veriga

unread,
Jul 24, 2014, 11:58:36 AM7/24/14
to ext...@googlegroups.com
Привет!

Навскидку не соображу, в чём дело. Могу глянуть тестовый проект.


--
Вы получили это сообщение, поскольку подписаны на группу "Ext.NET".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес extnet+un...@googlegroups.com.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.

Viktor Sirchenko

unread,
Jul 25, 2014, 1:12:12 PM7/25/14
to ext...@googlegroups.com
Попробовал сделать тестовый пример, он заработал, а вот почему у меня в рабочем примере так, я понять не могу

четверг, 24 июля 2014 г., 9:58:36 UTC-6 пользователь Daniil написал:

Viktor Sirchenko

unread,
Jul 27, 2014, 11:25:48 PM7/27/14
to ext...@googlegroups.com
https://drive.google.com/file/d/0B-j8w5_v4AmwV2JocFpka0JKdU0/edit?usp=sharing

вот ссылка на тестовый пример, когда пытаюсь сделать форму сразу на странице - нормально, а когда пытаюсь открыть в окне, но ошибка

вторник, 15 июля 2014 г., 23:01:25 UTC+6 пользователь Viktor Sirchenko написал:

Viktor Sirchenko

unread,
Jul 30, 2014, 11:31:46 AM7/30/14
to ext...@googlegroups.com
Всем привет, у кого нить есть мысли в чем может быть проблема, топчусь только на этом

Ссылка на проект в предудущем сообщении

вторник, 15 июля 2014 г., 11:01:25 UTC-6 пользователь Viktor Sirchenko написал:

Vladimir Scheglov

unread,
Jul 30, 2014, 11:36:59 AM7/30/14
to ext...@googlegroups.com

Посмотрите реквест в каком виде сабмитится дата

И проверьте, какая культура используется на сервере, так как парсинг дат зависит от культуры

 

Проще всего просто попробовать DateTime.Parse(‘дата из реквеста’) и посмотреть падает ли этот код

--

Viktor Sirchenko

unread,
Jul 30, 2014, 12:18:27 PM7/30/14
to ext...@googlegroups.com
Прикол в том, что ошибка выходит только когда я пытаюсь FormPanelForModel вывести в Window, а когда делаю просто FormPanelForModel на странице все отрабаывает нормально
Реквест посмотреть не могу, так как ошибка показывается в Студии, а не на странице

среда, 30 июля 2014 г., 9:36:59 UTC-6 пользователь quirkmind написал:

Daniil Veriga

unread,
Aug 5, 2014, 9:33:04 AM8/5/14
to ext...@googlegroups.com
Для тех, кому интересно, дискуссия продолжилась здесь:
http://forums.ext.net/showthread.php?40741-FormPanelForModel-with-DateTime-property

Viktor Sirchenko

unread,
Aug 11, 2014, 9:22:56 AM8/11/14
to ext...@googlegroups.com
Всем привет, тему продолжаем снова тут, потому что:

1. кроме Daniil nтам никто не отвечает и внятного ответа не дает
2. ссылку на проект чтобы посмотрели что не так - удаляют


я снова выкладываю ссылку на проект

так же хочу указать еще одну ошибку, которая связана с типом DataTime, но уже в Grid, дата не отображается, хотя использую DateColumn() и в ответе с сервера дата приходит


вторник, 15 июля 2014 г., 11:01:25 UTC-6 пользователь Viktor Sirchenko написал:
Всем привет, пытаюсь получить форму с полем для ввода даты, делаю так же как описано в примере http://mvc.ext.net/#/Models/FormPanelFor/

Daniil Veriga

unread,
Aug 12, 2014, 12:23:11 PM8/12/14
to ext...@googlegroups.com
2. ссылку на проект чтобы посмотрели что не так - удаляют

Да, это идёт вразрез с правилами на форуме. И, на мой взгляд, это имеет смысл. Зачем нам скачивать проект на 90 мегабайт, если можно поглядеть на 50-100 строчек кода (очень редко требуется больше)? Предполагается, что спрашивающий проведёт некоторую работу над тестовым примером и сократит его до минимума, который мы можем скопировать и запустить без каких-либо изменений. Если у нас не воспроизводится, то можно говорить о том, что, возможно, проблема где-то в проекте (опять же, очень редко бывает). Если же удобнее всего посмотреть сразу на проект, то мы сами запрашиваем. Есть и другая причина. Форум рассматривается, как база знаний. Чаще всего читателям форума (из тех, кто пользуется поиском по форуму) очень полезно посмотреть на код, на котором, собственно, воспроизводится проблема. И проще всего это делать, если код прямо в посте и ничего не надо скачивать и выискивать то, что относится к делу.

Если вам не сложно выполнить требования Geoffrey в потоке на форуме и вы запостите тестовый пример, то буду рад глянуть.


--

Viktor Sirchenko

unread,
Aug 12, 2014, 12:25:45 PM8/12/14
to ext...@googlegroups.com
Куски кода я выкладывал и ранее, причем их я брал с примеров который предоставлены на сайте, поэтому сразу и выдал проект, потому что иначе вопрос не решить, если надо я могу выложить все файлы какие надо, чтобы вы могли посмотреть

вторник, 12 августа 2014 г., 22:23:11 UTC+6 пользователь Daniil написал:

Daniil Veriga

unread,
Aug 13, 2014, 10:00:31 AM8/13/14
to ext...@googlegroups.com
если надо я могу выложить все файлы какие надо, чтобы вы могли посмотреть

Можно попробовать.

Viktor Sirchenko

unread,
Aug 13, 2014, 10:35:02 AM8/13/14
to ext...@googlegroups.com
Скажите что надо выложить и я выложу

среда, 13 августа 2014 г., 20:00:31 UTC+6 пользователь Daniil написал:

Daniil Veriga

unread,
Aug 13, 2014, 11:03:05 AM8/13/14
to ext...@googlegroups.com
То, что я могу скопировать и запустить у себя в проекте без каких-либо изменений и воспроизвести проблему.

Viktor Sirchenko

unread,
Aug 13, 2014, 11:41:28 AM8/13/14
to ext...@googlegroups.com
я могу выложить проект, чтобы ты мог его посмотреть, может я что то не указал, сейчас основная проблема это с отображением поля вводы даты

среда, 13 августа 2014 г., 21:03:05 UTC+6 пользователь Daniil написал:

Daniil Veriga

unread,
Aug 14, 2014, 12:53:22 AM8/14/14
to ext...@googlegroups.com
Всё-таки на проекте настаиваете:) Хорошо, гляну проект.

Viktor Sirchenko

unread,
Aug 14, 2014, 10:17:43 AM8/14/14
to ext...@googlegroups.com
https://drive.google.com/file/d/0B-j8w5_v4AmwUVpSZXpzaU8yREE/edit?usp=sharing

вот ссылка

четверг, 14 августа 2014 г., 10:53:22 UTC+6 пользователь Daniil написал:

Viktor Sirchenko

unread,
Aug 18, 2014, 11:24:34 PM8/18/14
to ext...@googlegroups.com
Да, кстате тут есть еще такая проблема, выбираешь дату, и когда переходишь к другому контролу, дата очищается

четверг, 14 августа 2014 г., 20:17:43 UTC+6 пользователь Viktor Sirchenko написал:

Daniil Veriga

unread,
Aug 27, 2014, 1:21:20 AM8/27/14
to ext...@googlegroups.com
Дошли руки глянуть проект. Распакованный весит 400 метров. Смутило:)


сейчас основная проблема это с отображением поля вводы даты

Освежите мою память, пожалуйста.

Viktor Sirchenko

unread,
Aug 27, 2014, 10:57:44 AM8/27/14
to ext...@googlegroups.com
Да файл большой, поому что там папка с packeges, я ее не стал удалять, потому что она может понадобиться, может проблема в них

На счет освежить память - DateField ототбражается криво, есть два способа выбрать дату, но работает только один и иногда когда дата выбрана и переходишь на другой компонент, они очищается и остается только маска

вторник, 26 августа 2014 г., 23:21:20 UTC-6 пользователь Daniil написал:

Daniil Veriga

unread,
Aug 28, 2014, 7:55:06 AM8/28/14
to ext...@googlegroups.com
Да файл большой, поому что там папка с packeges, я ее не стал удалять, потому что она может понадобиться, может проблема в них

Это можно проверить удаление package один за одним. У думаю, многие из них совсем не используются.

DateField ототбражается криво

Это происходит из-за DataType атрибута:

[DataType(DataType.Date)]
public DateTime DataBrth { get; set; }

Из-за него <input> элементу ставится type="date", что несколько ломает DateField.

Как насчёт удалить этот атрибут?

P.S. Хочу обратить внимание, что для воспроизведения проблемы достаточно вот такого кода:

Model

public class Person
{
    public String Name { get; set; }

    [DataType(DataType.Date)]
    public DateTime DataBrth { get; set; }
}


View

@model Work2MVC.Controllers.Person

@{
    var X = Html.X();
}

<!DOCTYPE html>
<html>
<head>
    <title>Ext.Net.MVC v2 Example</title> 
</head>
<body>
    @X.ResourceManager()
   
    @X.FormPanelForModel()
</body>
</html>

Controller
 
public ActionResult Index()
{
    return View(new Person());
}


Как я и предполагал, меньше 50 строк.
 

Viktor Sirchenko

unread,
Aug 29, 2014, 12:55:13 AM8/29/14
to ext...@googlegroups.com
Да это помогло, спасибо
Reply all
Reply to author
Forward
0 new messages