Я хочу сравнить дату столбца представления сетки с системной датой, а затем включить кнопку Отключить ссылку?
я хочу сравнить дату столбца представления сетки с системной датой, а затем включить отключить кнопку ссылки? как это возможно, я пытаюсь сделать какую-то ошибку в заднице.
ошибка ({"строка не была распознана как допустимая Дата-Время. Существует неизвестное слово, начинающееся с индекса 0."})
Что я уже пробовал:
LinkButton lnk2 = (LinkButton)e.Row.FindControl("lnkSelect"); if (e.Row.RowType == DataControlRowType.DataRow) { string dtimeString = Convert.ToDateTime(e.Row.Cells[2].Text).ToString("yy/MM/dd"); DateTime dtime = Convert.ToDateTime(dtimeString); DateTime nowtime = Convert.ToDateTime(DateTime.Now.ToString("yy/MM/dd")); if (dtime == nowtime) { lnk2.Enabled = true; //change the column backcolor // e.Row.Cells[0].BackColor = System.Drawing.Color.Yellow; //change the row backcolor // e.Row.BackColor = System.Drawing.Color.Yellow; } if (dtime > nowtime) { lnk2.Enabled = false; e.Row.Cells[0].BackColor = System.Drawing.Color.Red; // e.Row.BackColor = System.Drawing.Color.Red; } }
[no name]
Сообщение об ошибке говорит вам, в чем проблема.
shreyal acharya
также вы сравниваете свои данные в запросе.
Richard MacCutchan
В чем смысл этих строк:
1. string dtimeString = Convert.ToDateTime(e.Row.Cells[2].Text).ToString("yy/MM/dd");
2. DateTime dtime = Convert.ToDateTime(dtimeString);
3. DateTime nowtime = Convert.ToDateTime(DateTime.Now.ToString("yy/MM/dd"));
1. вы берете строку (предположительно дату), преобразуете ее в значение DateTime, а затем преобразуете обратно в строку.
2. Принять окончательное строку из 1 и преобразовать его обратно в datetime.
3. Вы получаете текущее время (которое является DateTime), преобразуете его в строку, а затем немедленно преобразуете обратно в DateTime.
Не используйте строки при сравнении или ином манипулировании значениями DateTime. Используйте фактические числовые значения.
Suvendu Shekhar Giri
мой виртуальный 5!