2016-02-18 43 views
0

ASP.net 请帮助我做到这一点。 我有一个网址:本地主机:8979 /店/书籍/科幻/ USA变量中的URL字符串

我要开店毕竟字符串存储到变量:

例如:我需要“本本”变量“B ' 我需要变量的''''科幻' 和'美国'变量'c'

请注意,我需要从URL中删除“ - ”(短划线)并将其替换为空格。因为我需要用我的数据库检查它。

谢谢,请帮助。

+0

哪种语言/工具/服务器?拿一支笔和一张纸,写b =书,s =科幻小说,c =美国。 – m02ph3u5

+0

谢谢你的回复。语言:Asp.net –

回答

1

假设你在C#编码,你必须在名为url一个字符串变量您的网址,并shop永远是你的URL的第二个元素:

var urlParts = url.Replace('-', ' ').Split('/'); 
b = urlParts[2]; 
s = urlParts[3]; 
c = urlParts[4]; 

如果shop是可变的,替换最后三行:这些检查对于严重形成的URL

for (int i = 0; i < urlParts.Length; i++) { 
    if (urlParts[i] == "shop") { 
     b = urlParts[i + 1]; 
     s = urlParts[i + 2]; 
     d = urlParts[i + 3]; 
    } 
} 

无 - 如果可能的话,当你想到的网址将不被格式化的,你需要添加一些错误检查。

+0

Shop是我的aspx页面名称,它位于URL的域名后面 –

0

这是我在代码背后的代码文件。感谢您的回答@John Riehl我仍然在这个代码空引用异常错误。 我在where子句中调用存储过程中的那些变量。

 int num = 0; 
    string url; 
    protected void Page_load(Object sender, EventArgs e) 
    { 
     if (!Page.IsPostBack) 
     { 
      num = 15; 
      ViewState["num"] = num; 
      BindRepeater(num); 
      string cat; 
      string subcat; 
      string Cnt; 
      IList<string> urlsegment = Request.GetFriendlyUrlSegments(); 
      var urlParts = url.Replace('-', ' ').Split('/'); 
      @cat = urlParts[2]; 
      @subcat = urlParts[3]; 
      @Cnt = urlParts[4]; 
     } 
    }