Na przykład istnieje ciąg znaków: aaa=1&ccc=test&ddd=code123&..... i wiele innych parametrów!
Jeśli jest to parametr z paskiem adresowym, możesz uzyskać wartość po prostu Request.QueryString["parameter name"] lub bezpośrednio Request["parameter name"]
Jeśli to tylko ciąg i chcesz go rozsłonować, są dwa sposoby 1 Wyrażenie regularne 2Podziel się, a następnie wykonaj split perersal Metoda wyrażenia regularnego:
- /// <summary>
- /// 获取url参数
- /// </summary>
- /// <param name="paramName">参数名称</param>
- /// <param name="paramsStr">整个url</param>
- /// <returns></returns>
- public static string GetParams(string paramName, string paramsStr)
- {
- Regex regParam = new Regex("(?:^|&)" + paramName + "=(?<Value>[^&]*)", RegexOptions.IgnoreCase);
- Match mth = regParam.Match(paramsStr.Trim());
- if (mth.Success)
- {
- //匹配成功
- return mth.Groups["Value"].Value;
- }
- else
- {
- return null;
- }
- }
Skopiuj kod
Jeśli chodzi o drugą metodę, najpierw trzeba podzielić ('&'), następnie przejść przez tę tablicę, a następnie podzielić ('='), aby sprawdzić, czy nazwa parametru [0] jest równa określonej wartości, a jeśli jest to określona wartość, to bezpośrednio zwrócić do [1] podwójnego dla pętli
|