无法使用Request.URL从page_load事件中获取URL
本文关键字:URL load 事件 获取 page Request | 更新日期: 2023-09-27 18:24:23
有一个URL。http://website.com/ap/mob/en#contactus.我想获取包括#contactus在内的完整URL。我试图用Request.URL.AbsoluteUri从Page_load事件中捕获URL,但我的目的没有得到解决。有人能在这方面帮我吗?
您可以使用javascript获取完整链接,然后将其传递给后面的代码
<script language="javascript" type="text/javascript">
function JavaScriptFunction() {
document.getElementById('<%= hdnResultValue.ClientID %>').value = document.URL;
}
</script>
<asp:HiddenField ID="hdnResultValue" Value="0" runat="server" />
<asp:Button ID="Button_Get" runat="server" Text="run" OnClick="Button_Get_Click" OnClientClick="JavaScriptFunction();" />
然后从后面的代码中获得包含当前完整URL 的hiddenfield的值
protected void Button_Get_Click(object sender, EventArgs e)
{
string fullURL = hdnResultValue.Value;
}
这是不可能的,因为浏览器不会将哈希部分发送到服务器。当然,有一些涉及JavaScript的变通方法,但这些方法会让您的应用程序接受脚本注入。
维基百科是这么说的:
片段标识符的功能与URI:即它的处理完全是客户端的,没有来自web服务器的参与--当然,服务器通常帮助确定MIME类型,MIME类型确定碎片处理。当代理(如Web浏览器)从web服务器请求web资源,代理将URI发送到服务器,但不发送片段。相反,代理会等待服务器发送资源,然后代理处理资源。
你能提供更多关于你所拥有的场景的细节吗?