How to substring from a link at specific character?
我不知道它有什么问题?我试图解决它,但我没有得到任何结果!!
我的浏览器链接
1
|
http://localhost:49496/Activated.aspx?id=2
|
代码是
1
2 3 4 5 |
string uri = HttpContext.Current.Request.Url.AbsoluteUri; int num1 = uri.IndexOf(‘=’); int num2=uri.Length–1; string ID = uri.Substring(num1,num2); |
错误提示:
索引和长度必须引用字符串中的位置。
参数名称:长度
那么,它有什么问题呢?!
如果你只是想隔离参数:
1
|
string ID = uri.Substring(num1);
|
(David Pilkington 对失败原因的解释是正确的。)
问题在于第二个参数是您要查找的子字符串的长度,并且
将第二个参数改为
另一种方法是不包含第二个参数。在这种情况下,从您提供的索引中获取子字符串,直到字符串结尾。
在这里,阅读有关该方法的 MSDN 文档,您会发现哪里出错了
String.Substring 方法 (Int32, Int32)
你最好的选择是
1
|
uri.Substring(uri.IndexOf(‘=’)+1);
|
子字符串不是执行您正在尝试执行的操作的方法…这是获取查询字符串参数
的值
你得到一个查询字符串参数,如:
1
|
string id = Request.QueryString["id"];
|
如果你的
1
2 3 4 5 6 |
int realId = 0;
string id = Request.QueryString["id"]; if (Int32.TryParse(id, out realId)) { //do something with realId } |
Uri 已经提供了搜索方法,不需要自己做:
1
2 |
Uri uri = new Uri("http://localhost:49496/Activated.aspx?id=2");
Console.WriteLine(uri.Query.Split(‘=’)[1]); |
请注意,在您的实际(生产)代码中,您可能希望包含一些错误检查以验证查询部分是否包含 “id”。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/269794.html
赞 (0)