Просто добавьте эти строки кода, и оно должно работать.
<%
string hour = string.IsNullOrEmpty(Request.Form["hour"]) ? string.Empty : Request.Form("hour").ToString();
%>
<input id="hour" type="text" name="hour" value="<%=hour%>" style="width:30px; text-align:center;" />
Проблема в том, что когда вы используете <% = hour%>, он будет искать переменную с именем hour и записывать ее значение тамно поскольку нет такой переменной, определяемой как час до ее использования, она выдает эту ошибку.Что вы на самом деле хотите сделать, так это прочитать значение часа в случае отправки страницы через HTTP-POST и указать его как значение по умолчанию.Приведенный выше код просто сделает это.
Более того, я рекомендую вам использовать серверные серверные элементы управления ASP.NET, такие как (), которые предоставляют эту функцию по умолчанию.Эти элементы управления сохраняют свои значения во время обратной передачи и делают их заполненными до состояния до некоторой степени.