Mam witrynę ASP.net WebForms. Na jednej ze stron chcę wysłać wiadomość na serwer, aby serwer był na bieżąco ze zmianami na kliencie. Mówiąc prosto, odświeżenie z pola tekstowego lub przycisku lub w / e spowoduje tylko odświeżenie strony.
Chcę po prostu wykonać żądanie sieciowe na serwerze, ale zachowując tę samą sesję, nadal mam zmienne sesji po stronie serwera.
Ponownie, nie szukam funkcji UpdatePanel, która jest podobna do większości podobnych pytań.
Odpowiedzi:
1 dla odpowiedzi № 1Jeśli chcesz wysłać informacje do swojego serwera bez odświeżenia strony (lub używając UpdatePanel), możesz użyć wywołania asynchronicznego AJAX.
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript"></script>
<script type = "text/javascript">
function ShowCurrentTime() {
$.ajax({
type: "POST",
url: "CS.aspx/GetCurrentTime",
data: "{name: "" + $("#<%=txtUserName.ClientID%>")[0].value + "" }",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
failure: function(response) {
alert(response.d);
}
});
}
function OnSuccess(response) {
alert(response.d);
}
</script>
gdzie w tym przykładzie URL strony aspx to CS.aspx, a nazwa metody to GetCurrentTime. Dane mogą być wysyłane jako JSON, który będzie musiał zostać przeanalizowany na serwerze.