Red*_*ves 156 c# asp.net user-controls
我需要能够从用户控件获取我所在页面的完整URL.这只是将一堆Request变量连在一起的问题吗?如果是这样的?还是有更简单的方式?
小智 311
这是我通常参考此类信息的列表:
Request.ApplicationPath : /virtual_dir
Request.CurrentExecutionFilePath : /virtual_dir/webapp/page.aspx
Request.FilePath : /virtual_dir/webapp/page.aspx
Request.Path : /virtual_dir/webapp/page.aspx
Request.PhysicalApplicationPath : d:\Inetpub\wwwroot\virtual_dir\
Request.QueryString : /virtual_dir/webapp/page.aspx?q=qvalue
Request.Url.AbsolutePath : /virtual_dir/webapp/page.aspx
Request.Url.AbsoluteUri : http://localhost:2000/virtual_dir/webapp/page.aspx?q=qvalue
Request.Url.Host : localhost
Request.Url.Authority : localhost:80
Request.Url.LocalPath : /virtual_dir/webapp/page.aspx
Request.Url.PathAndQuery : /virtual_dir/webapp/page.aspx?q=qvalue
Request.Url.Port : 80
Request.Url.Query : ?q=qvalue
Request.Url.Scheme : http
Request.Url.Segments : /
virtual_dir/
webapp/
page.aspx
Run Code Online (Sandbox Code Playgroud)
希望你会发现这很有用!
tra*_*vis 152
我通常Request.Url.ToString()用来获取完整的URL(包括查询字符串),不需要连接.
Dev*_*ris 72
Request.Url.AbsoluteUri
Run Code Online (Sandbox Code Playgroud)
这家酒店提供您所需要的一切,一次性简洁.
Request.RawUrl
如果您需要完整的URL作为从http到查询字符串的所有内容,您将需要连接以下变量
Request.ServerVariables("HTTPS") // to check if it's HTTP or HTTPS
Request.ServerVariables("SERVER_NAME")
Request.ServerVariables("SCRIPT_NAME")
Request.ServerVariables("QUERY_STRING")
Run Code Online (Sandbox Code Playgroud)
因为ASP.NET Core你需要拼写出来:
@($"{Context.Request.Scheme}://{Context.Request.Host}{Context.Request.Path}{Context.Request.QueryString}")
Run Code Online (Sandbox Code Playgroud)
或者您可以在视图中添加using语句:
@using Microsoft.AspNetCore.Http.Extensions
Run Code Online (Sandbox Code Playgroud)
然后
@Context.Request.GetDisplayUrl()
Run Code Online (Sandbox Code Playgroud)
的_ViewImports.cshtml可能是一个更好的地方@using
谢谢大家,我结合你的答案@Christian和@Jonathan满足我的特殊需求.
"http://" + Request.ServerVariables["SERVER_NAME"] + Request.RawUrl.ToString()
Run Code Online (Sandbox Code Playgroud)
我不需要担心安全的http,需要servername变量,RawUrl处理来自域名的路径,并包含查询字符串(如果存在).
| 归档时间: |
|
| 查看次数: |
176587 次 |
| 最近记录: |