2013-05-27 7 views
1

Как сохранить значение TSQL timestamp/rowversion в HTML-скрытом поле ввода как «сопоставимое» значение?Хранить метку времени TSQL в скрытом поле HTML

E-mail:
Я получаю «временную метку» из строки таблицы базы данных в виде байтового массива. Теперь я хочу сохранить это значение как строку в своем HTML-документе. После отправки я хочу прочитать временную метку, которую пользователь получил, когда он попросил страницу и сравнил ее с текущей меткой базы данных.

ответ

2
byte[] data = dataReader["dt"] as byte[]; 

Вы должны хранить его в скрытом поле в виде строки:

hiddenField.Value = Convert.ToBase64String(data); 

А затем преобразовать его обратно:

byte[] data = Convert.FromBase64String(hiddenField.Value); 

Сравнение:

bool areEqual = data .SequenceEqual(data) 

PS: TimeStamp в SqlServer не означает Da teTime! Это фактически байт-массив длиной 8. What does a timestamp in T-Sql mean in C#?

0

Добавлено свойство на вашей модели, которое создало html-дружественную версию временной метки bytearray, например, {0, 120, 200, 20, 52, 33} превращается в «0 120 200 20 52 33». Сделайте это так, чтобы это свойство также могло быть set, которое по очереди обновляет массив байтов метки времени.

Привяжите это свойство к скрытому полю на выделенной странице.

Когда форма отправляется, настройка дополнительного свойства устанавливает значение массива байтов метки времени. Теперь вы можете сравнить его с db timestamp.

Смежные вопросы