Я хочу прочитать значение текстового поля на странице .aspx и сохранить его каждые несколько секунд.
Я нашел следующий код: Как реализовать "Автоматическое сохранение" или "Сохранить черновик" в ASP.NET?
Я немного изменил его для своих целей:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"> </script>
<script type="text/javascript">
$(document).ready(function() {
window.setInterval(saveDraft, 5000);
});
function saveDraft() {
$.ajax({
type: "POST",
url: "SaveDraft.aspx",
data: ({
draftData: $("#<%=dataTextBox.ClientID %>").val()
}),
success: function(response) {
alert('saved draft');
}
});
}
Скажем, dataTextBox - это текстовое поле, определенное на странице .aspx. У меня есть код в VB.Net. Но я не знаю, как я могу получить значение текстового поля текстового поля в коде. Я предполагаю, что передаю его через строку draftData: $( "# <% = dataTextBox.ClientID% > " ). Val() в SaveDraft.aspx.
В SaveDraft.aspx.vb у меня есть:
Public Partial Class SaveDraft
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
' What should go here to read dataTextBox.text?
End Sub
End Class
Мне удалось прочитать значение dataTextBox следующей строкой кода в Page_Load
Dim testStr As String = Request.Form("draftData")
Вам нужно будет вызвать pagemethod из jQuery, передав вместе с ним данные.
Хороший пример этого можно найти здесь:
http://trentgardner.net/net/asp-net-webmethods-with-jquery-and-ajax/