ASP.NET 4.0とjQueryを使用している場合は、かなり簡単です。それ以外の場合は、マングルされたIDを処理し、自分でDOMReadyを処理する必要があります。これを試して
マークアップ
<asp:Label ID="lblAccessToken" runat="server" ClientIDMode="Static"></asp:Label>
JavaScript
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
var myToken = GetHashParameterByName("access_token");
$("#lblAccessToken").html( myToken );
});
function GetHashParameterByName(name) {
var match = RegExp('[#&]' + name + '=([^&]*)')
.exec(window.location.hash);
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}
</script>
あなたはPage_Load
右の値が欲しいですか?ハッシュ値を取得する方法を自分で理解していませんPage_Load
。通常、これらのいずれかを実行します。
- ハッシュ値をjQueryajaxメソッドに渡し、そこに保存します。
- ハッシュ値を取得し、クエリ文字列に変換した後、同じページにリダイレクトします
JavaScript
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
var myToken = GetHashParameterByName("access_token") || "";
if(my_token !=== ""){
window.location = window.location.split("/#")[0] + "?access_token=" + myToken;
}
});
function GetHashParameterByName(name) {
var match = RegExp('[#&]' + name + '=([^&]*)')
.exec(window.location.hash);
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}
</script>
Page_Loadで、次のように取得します
string token = Request.QueryString["access_token"];
サーバーへの往復がもう1回かかるため、あまり効率的ではないことに注意してください。しかし、これは私がしていることです。