2014年7月1日 星期二

asp.net send cookie to other html_get by Angularjs

撰寫Asp.net時常常遇到網頁之間參數的傳遞,而常用的傳遞方式有參數傳遞(get、post),session、cookie,當然最直觀的方式是透過參數傳遞,但安全性較低,故可使用session方式傳遞,session的資源則是在伺服端流動相對安全性高,但每個連線就創建一個session相當耗費資源,最後則是cookie部分,cookie則是將資源存於客戶端減少資源耗損,但安全性較低常引發類似Cookie_hijacking的XSS攻擊,但無論使用何種方式都有其優缺點,就端看效能與安全的考量來進行設計。

一、而這裡示範的是Asp.net寫入cookie後呼叫b.htm來讀取,達成傳遞效果,使用angularJS來讀取。
Source Code:https://drive.google.com/uc?export=download&id=0B4GSVRY43FEXVGE4RlVVYTlRZFk
二、a.aspx內設計一個textbox跟button來輸入ID並傳遞,而傳遞的寫法如下。
HttpCookie cookie_id = new HttpCookie("id");
            cookie_id.Value = TextBox1.Text;
            Response.AppendCookie(cookie_id);
            Server.Transfer("b.htm");
三、b.htm內的AngularJS程式碼
<html xmlns="http://www.w3.org/1999/xhtml" ng-app="myApp">
<head>
<script src="http://code.angularjs.org/1.0.0rc10/angular-1.0.0rc10.js"></script>
  <script src="http://code.angularjs.org/1.0.0rc10/angular-cookies-1.0.0rc10.js"></script>
<script language="javascript">
    angular.module('myApp', ['ngCookies']);
    function CookieCtrl($scope, $cookieStore) {
        $scope.lastVal = $cookieStore.get('id');
    }
</script>
    <title></title>
</head>
<body ng-controller="CookieCtrl">
{{lastVal}}//print
</body>
</html>


沒有留言:

張貼留言