2016-08-03 29 views

回答

1

您可以使用AJAX方法

一個很好的教程:http://www.brainbell.com/tutorials/ASP/A_Web_Service_In_ASP.NET.html

例如,後面的代碼:

 [WebMethod] 
     public static bool UpdateLocation(string lat) 
     { 
      try 
      { 
       //Your code 
      } 
      catch (Exception ex) 
      {     
       throw; 
      } 
     } 

例子Javascript代碼:

  $.ajax({ 
         type: "POST", 
         url: "/MyPage.aspx/UpdateLocation", 
         data: "{lat:'1313.23232'}", 
         contentType: "application/json; charset=utf-8", 
         dataType: "json" 
       }); 
+0

這個問題與'web service'有關嗎? – vaqifrv

+0

如果你想使用javascript代碼發送信息到代碼後面,你需要AJAX方法 –

+1

'data'不需要'''''它只需要'data:{'lat':1313.23232} –

0

兩件事情:

首先,正如@AnibalDíaz所說的,你應該通過AJAX而不是表單來執行這個操作。如果你不想在你的頁面上有<input type="hidden" />標籤。

然而,其次,如果你的顧慮是,用戶可以看到該字段的值,你有更大的問題。在當前的瀏覽器檢查器中,通常有一個網絡選項卡,您可以從該頁面查看所有HTTP請求。大多數在HTML中查找數據的人也會知道,他們可以通過網絡標籤輕鬆查看HTTP請求本身中的數據,事實上,他們可能先到達那裏,而不是檢查表單。如果您擔心更改了的數據,許多瀏覽器的網絡工具也允許您修改請求並重新發送,這樣他們也可以輕鬆地發送另一個具有該字段不同值的請求。

有辦法可以使這個更困難,但最終,在網頁上沒有什麼是私人的。當您向用戶發送網頁時,您也將所有JavaScript代碼發送給他們。惡意用戶可以隨時修改該代碼並更改其行爲。這意味着你不應該依靠瀏覽器來保證安全。如果您不希望用戶能夠查看或修改某些數據,則不會將該數據發送給用戶

您可能需要重新考慮一下您的體系結構。我不太瞭解C#或ASP.NET,但如果您可以維護服務器上的每用戶會話並將與該用戶關聯的數據存儲在服務器上,那麼這就是要走的路。如果用戶存儲在服務器上並且從未發送到瀏覽器,用戶將無法獲取您的數據。

1

如果我在會話中保存我的變量從js中,然後在會話中的asp.net中打開此變量,用戶是否可以查看和更改變量?

相關問題