C# .NET .aspx获取url网址链接的参数值函数方法

之前在百度查找过其他人的写法,要么是不完整的,要么就是代码太多,索性就自己写了一个,现在分享给大家。

一、根据参数,获取对应的值

public static string getQueryString(string name)
{
        //1.获取站点名+页面名+参数
        string url = Request.Url.PathAndQuery;
        //2.把"%uxxxx"格式的Unicode转换成中文
        url = HttpUtility.UrlDecode(url);
        //3.匹配正则表达式
        System.Text.RegularExpressions.Regex urlRegex = new Regex("(^?|&)" + name + "=([^&]*)(&|$)");
        System.Text.RegularExpressions.Match m = urlRegex.Match(url);     
        string value = string.Empty;
        if (m != null && m.Length>0)
        {
            Response.Write("m的结果是:"+m);
            //用等于号拆分结果,再返回
            value=m.ToString().Split('=')[1];
        }
        return value;
}

调用示例:

api.aspx的代码如下:

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Text.RegularExpressions" %>
<%
Response.Charset = "utf-8";   
Response.ContentType = "text/html";   
Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");   
string name=getQueryString("name"); 
Response.Write(name);

%>
 

在浏览器访问 http://www.zy13.net/api.aspx?id=1&name=张三,会直接输出 “张三

二、获取URL参数

假设当前完整网址是:http://www.zy13.net/pay/Default.aspx?id=5&name=xiao7

"http://"是协议名

"www.zy13.net"是域名

"pay"是站点名

"Default.aspx"是页面名(文件名)

"id=5&name=xiao7"是参数

1、获取 完整url (协议名+域名+站点名+文件名+参数)

string url=Request.Url.ToString();

url= http://www.zy13.net/pay/Default.aspx?id=5&name=xiao7

2、获取 站点名+页面名+参数

string url=Request.RawUrl;

(或 string url=Request.Url.PathAndQuery;)

url=/pay/Default.aspx?id=5&name=xiao7

3、获取 站点名+页面名

string url=HttpContext.Current.Request.Url.AbsolutePath;

(或 string url= HttpContext.Current.Request.Path;)

url= /pay/Default.aspx

4、获取 域名

string url=HttpContext.Current.Request.Url.Host;

url= www.zy13.net

 5、获取 参数

string url= HttpContext.Current.Request.Url.Query;

url= ?id=5&name=xiao7

你可能感兴趣的:(C#)