Вы можете использовать таймер в пределах UpdatePanel, чтобы в каждом тике Timer1 вы могли сохранить данные с входа на сеанс.
Например, в следующей разметке:
<div class="row">
<label>First Name:</label>
<asp:TextBox ID="FirstNameTextBox" runat="server"></asp:TextBox>
</div>
<div class="row">
<label>Last Name:<label>
<asp:TextBox ID="LastNameTextBox" runat="server"></asp:TextBox>
</div>
<div class="row">
<label>City:</label>
<asp:DropDownList ID="CityDropDownList" runat="server"></asp:DropDownList>
</div>
<div class="row">
<label>State:</label>
<asp:DropDownList ID="StateDropDownList" runat="server"></asp:DropDownList>
</div>
<div class="row">
<asp:Button ID="SubmitButton" runat="server" Text="Button" />
</div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Timer ID="Timer1" runat="server" Enabled="true" Interval="5000" OnTick="Timer1_Tick"></asp:Timer>
</ContentTemplate>
</asp:UpdatePanel>
Код позади для этого было бы:
protected void Page_Load(object sender, EventArgs e)
{
if (Session["FirstName"] != null) FirstNameTextBox.Text = Session["FirstName"].ToString();
if (Session["LastName"] != null) LastNameTextBox.Text = Session["LastName"].ToString();
if (Session["City"] != null) CityDropDownList.SelectedValue = Session["City"].ToString();
if (Session["State"] != null) StateDropDownList.SelectedValue = Session["State"].ToString();
}
protected void Timer1_Tick(object sender, EventArgs e)
{
Session["FirstName"] = FirstNameTextBox.Text;
Session["LastName"] = LastNameTextBox.Text;
Session["City"] = CityDropDownList.SelectedValue;
Session["State"] = StateDropDownList.SelectedValue;
}
Каждый раз, когда Таймер1 клещи, вы можете сохранить данные из полей формы в вашей Session и on Page_Load (...), если в сеансе есть данные, вы можете их автоматически заполнить.
Обязательно удалите данные с сеанса, когда пользователь действительно отправит форму.
Многие люди обновляют страницу, чтобы очистить поля в форме, поэтому это может привести к нарушению удобства использования. В чем проблема, которую вы пытаетесь решить с этим? –
Если у меня есть много элементов управления текстовыми полями для ввода пользователя, и если пользователь уже заполнил его, я не должен потерять эти данные, так как пользователь должен снова ввести все детали. – Pacchi
Ваш проект - веб-формы или MVC? Я дал ответ для Web Forms, но это не хорошо, если вы используете MVC. –