如何解决从网址中获取参数
| 使用以下两个URL: www.mySite.com?name=ssride360 www.mySite.com/ssride360 我知道要从网址1获取name
参数,您可以这样做:
string name = Request.Params[\'name\'];
但是,如何获取第二个网址呢?
我正在考虑尝试复制URL并删除已知信息(www.mySite.com),然后从那里将ѭ0设置为其余部分。
我该如何复制网址?是否有更好的方法从第二个URL获取\'ssride360 \'?
在SO中编辑外观,我发现了一些有关复制URL的信息
string url = HttpContext.Current.Request.Url.AbsoluteUri;
// http://localhost:1302/TESTERS/Default6.aspx
string path = HttpContext.Current.Request.Url.AbsolutePath;
// /TESTERS/Default6.aspx
这对我来说是最好的方法吗?例如,每个网址都有一个附加参数(mySite.com/ssride360?site=SO)。我也知道mySite.com/ssride360会引用我项目中的文件夹,所以我不会随该文件一起获得该文件(mySite.com/ssride360/Default6.aspx)吗?
在这一点上,我认为有比URL复制更好的方法。
有什么建议吗?
解决方法
Uri x = new Uri(\"http://www.mySite.com/ssride360\");
Console.WriteLine (x.AbsolutePath);
打印/ssride360
, 即使后面有名称,此方法也可以让您获取名称。如果您打算在名称之后放置其他内容并希望获得这些值,那么它也是一个很好的模型。
char [] delim = new char[] {\'/\'};
string url = \"www.mySite.com/ssride360\";
string name = url.Split(delim)[1];
然后,如果您的URL的名称后包含ID,则可以执行以下操作:
char [] delim = new char[] {\'/\'};
string url = \"www.mySite.com/ssride360/abc1234\";
string name = url.Split(delim)[1];
string id = url.Split(delim)[2];
, URL重写是解决此问题的常用方法。您可以为其指定要匹配的URL的模式以及将其更改为URL所需的内容。因此它将检测到www.mySite.com/ssride360并将其转换为www.mySite.com?name=ssride360。网站的用户可以看到原始URL,并且不知道任何更改,但是您的代码可以看到转换后的URL,因此您可以以常规方式访问变量。另一个大优点是,规则允许您设置要转换的模式以及刚刚传递到实际文件夹/文件的模式。
http://learn.iis.net/page.aspx/461/creating-rewrite-rules-for-the-url-rewrite-module/
, 喜欢javascript吗?如果是这样的话...
<script type=\"text/javascript\">
function getName() {
var urlParts = window.location.pathname.split(\'/\'); //split the URL.
return urlParts[1]; //get the value to the right of the \'/\'.
}
</script>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。