我正在尝试在ASP.NET中使用查询字符串。我需要以下格式
http://localhost/website/1/?callback=?
这里1表示配置文件的ID。这意味着来自id = 1的一些信息将通过字符串
获取如果这是website/2/?callback=?
,则id为2.我的问题是如何将此/id/
用作查询字符串,以便可以用来获取配置文件ID。这是我首选使用/id/
格式,否则我可以考虑使用两个?'s
来获取
如果id = 1,我想从此页面上的DB中获取ID = 1的详细信息。 http://localhost/website/1/?callback=?
答案 0 :(得分:0)
在您的情况下,ID位于PATH中,而不是查询字符串中。您可以通过ASPX页面中的Request.Path
访问路径。从那里你需要做一些字符串解析来获取你期望ID的路径部分。
在你的情况下,我可能会使用像int.Parse(Request.Path.Split(new char[] {'/'}, StringSplitOptions.RemoveEmptyEntries)[1])
这样的东西,但请注意,为了简洁起见,我已经使这条线变得非常密集。对于初学者,您应该使用int.TryParse()
而不是int.Parse()
。此代码假定ID始终位于URL中的相同位置。例如,它适用于“/ website / 2 /”和“/ user / 2 /”,但不适用于“/ website / somethingelse / 2 /”。
答案 1 :(得分:0)
UriTemplate可能是这种解析的不错选择。更不用说,可能会更清楚明确地说明发生了什么。
退房:http://msdn.microsoft.com/en-us/library/system.uritemplate(v=VS.90).aspx