Bunu Javascript & jQuery parçacığında yapabilirsiniz. Kaydetmek istediğiniz form verilerini periyodik olarak okuyan ve SaveDraft.aspx
sayfasına geri gönderen bir zamanlayıcı tarafından tetiklenen bir işleve sahip olun. Bu sayfada veri bir yerde (örneğin veritabanı) kalmaktadır.
Kullanıcı oturumu kapatırsa veya oturumu kaybolursa, bu verileri sorgulayabilir ve veri varsa, önceden doldurabilirsiniz. Veri girişi ASPX sayfasında
:
// Usual ASP.NET page directives go here
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<script type="text/javascript" src="Scripts/jquery-1.4.1.min.js" ></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:textbox id="username" runat="server" /><br />
<asp:textbox id="password" runat="server" /><br />
<asp:textbox id="realName" runat="server" /><br />
<asp:button id="Submit" onclick="Submit_Click"
usesubmitbehavior="true" runat="server" />
</div>
</form>
<script type="text/javascript">
$(document).ready(function() {
// Configure to save every 5 seconds
window.setInterval(saveDraft, 5000);
});
// The magic happens here...
function saveDraft() {
$.ajax({
type: "POST",
url: "SaveDraft.aspx",
data: ({
username: $("#<%=username.ClientID %>").val(),
password: $("#<%=password.ClientID %>").val(),
realName: $("#<%=realName.ClientID %>").val()
}),
success: function (response) {
alert('saved draft');
}
});
}
</script>
</body>
</html>
sizin SaveDraft.aspx
sayfasında: sizin başlamış
public partial class SaveDraft : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string username = Request.Form["username"];
string password = Request.Form["password"];
string realName = Request.Form["realName"];
// Save data somewhere at this point
}
}
.
İşlev ve zamanlayıcı çağrısı da gönderebilir misiniz? – Sandy
Amacınızı aldım. Ama bunu nasıl yapacağımı bilmiyorum? Bu yüzden benim için kolay olacak kaynak kodu gönderirseniz. – Sandy
@Sandy - Cevabımı bir prototiple güncelledim – Kev