我有一个这样的链接。它是从 Instagram api 获取的。
http://localhost:60785/access_token.aspx/#access_token=43667613.4a1ee8c.791949d8f78b472d8136fcdaa706875b
如何从代码隐藏中获取此链接?
我可以用js获取它,但分配给标签后我无法获取它。我是说:
<script>
function getURL(){
document.getElementById('lblAccessToken').innerText = location.href;
}
</script>
该js函数位于body onload事件中。如何从代码隐藏中获取这个innerText值?
如果您使用 ASP.NET 4.0 和 jQuery,则相当简单。否则你可能必须处理损坏的 id 并必须自己处理 DOMReady。尝试这个
Markup
<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
.我通常做以下事情之一
- 将哈希值传递给 jQuery ajax 方法并将其存储在那里。
- 获取哈希值并将其转换为查询字符串后重定向到同一页面
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"];
请注意,这需要再往返一次服务器,因此效率不高。但这就是我所做的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)