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);

%>
<script language= "C# " runat="server"> 
    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;
    }
</script> 

在浏览器访问 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值