Динамически устанавливать mintime и maxtime поля времени в ext.net

Я работаю с EXT.NET 1.2 Я хочу установить minTime и maxTime из codebehind(из cs Page).

Я написал следующий код, но не работал этот код.. это их ошибка или есть какой-либо другой метод (через Javascript)??

Код

tmFrom.Increment = 30;
string strmin = obj.startTime.ToShortTimeString();
DateTime dtmin = DateTime.ParseExact(strmin, "H:mm tt", CultureInfo.InvariantCulture);
string strmax = obj.endTime.ToShortTimeString();
DateTime dtmax = DateTime.ParseExact(strmax, "H:mm tt", CultureInfo.InvariantCulture);
tmFrom.Format = "H:mm";
tmFrom.MinTime = dtmin.TimeOfDay;
tmFrom.MaxTime = dtmax.TimeOfDay;

Я устанавливаю minTime и maxTime из значения базы данных.

1 ответ

Решение

Судя по вашему примеру кода, obj.startTime а также obj.endTime оба уже объекты DateTime. Вам не нужно преобразовывать в строки, а затем обратно в объекты DateTime.

Следующий пример демонстрирует полный сценарий.

пример

<%@ Page Language="C#" %>

<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>

<script runat="server">
    protected void Page_Load(object sender, EventArgs e)
    {
        var startTime = DateTime.Now.AddMinutes(-215);
        var endTime = DateTime.Now.AddMinutes(215);
        var time = this.TimeField1;

        time.Increment = 30;
        time.Format = "H:mm";
        time.MinTime = startTime.TimeOfDay;
        time.MaxTime = endTime.TimeOfDay;
    }
</script>

<!DOCTYPE html>

<html>
<head runat="server">
    <title>Ext.NET Examples</title>
</head>
<body>
    <ext:ResourceManager runat="server" />

    <ext:TimeField ID="TimeField1" runat="server" FieldLabel="Time" />
</body>
</html>

Надеюсь это поможет

Другие вопросы по тегам