2015-02-06 61 views
0

我需要知道如何斷開用戶輸入的數據。例如,一位用戶完全填寫表單,而沒有將所需輸入留空。當他按下保存按鈕時,在數據存儲到數據庫之前,連接到互聯網(因爲它是一個互聯網應用)將被斷開。通常情況下,不會保存數據,所有操作都會回滾。 我的問題:ASP.NET C#應用程序中是否有任何方法來保存這些輸入數據?並且即使應用程序(瀏覽器)關閉,甚至機器關閉,連接恢復時操作也會完成? 非常感謝您的任何協助如果斷開連接,不會丟失數據庫操作的數據

+2

不使用C#,因爲它在服務器上運行。但在客戶端,HTML5提供了[本地存儲](http://www.w3schools.com/html/html5_webstorage.asp)。或者你可以將它保存在[cookie](http://en.wikipedia.org/wiki/HTTP_cookie)中。當表單提交時,您需要使用一些JavaScript來保存數據。 – mason 2015-02-06 01:23:27

+0

很好的幫助謝謝 – Ali 2015-02-07 05:23:09

回答

1

好吧,部分是的。

正如mason所評論的,您可以使用瀏覽器的LocalStorage將數據存儲在客戶端,以防互聯網連接不可用。

在C#中,你無法解決這個問題,因爲它在服務器上運行,並且如果連接斷開,來自客戶端的任何數據都不會到達服務器,因此不會執行服務器端代碼。

您可以調整以下方式來完成這個使用本地存儲:

僞代碼

//Flag 
Bool Internet_Available=false; 


// on internet connected 
if(data available in LocalStorage){ 
    Internet_Available=true; 
    //submit the data to server 
} 

// on internet disconnected 
Internet_Available=false; 



// on submit 
If(Internet_Available){  
    // submit form 
} 
else{ 
    // save the form values in LocalStorage 
    // alert user 
} 

希望幫助!

+1

非常感謝你和梅森。事實上,你寫的僞代碼可以爲我完成這項工作。買你知道的,起初我打算在重新連接後自動繼續數據庫操作。但是在這個時候,對於我一直在處理的具體情況,實際上並不需要自動完成,只需LocalStorage方式就能正確滿足客戶的要求。所以,非常感謝您的幫助。 – Ali 2015-02-07 05:22:41