【发布时间】:2011-02-18 11:47:50
【问题描述】:
我有一个 URL http://localhost/TradeCredits/UnderWriter/EditQuote.aspx?QOT_ID=1 我想从 URL 获取 QOT_ID。请建议如何做到这一点。
【问题讨论】:
我有一个 URL http://localhost/TradeCredits/UnderWriter/EditQuote.aspx?QOT_ID=1 我想从 URL 获取 QOT_ID。请建议如何做到这一点。
【问题讨论】:
如果您在问题中提到的URL 可能未连接到当前请求,您可以这样做:
string url = "http://localhost/TradeCredits/UnderWriter/EditQuote.aspx?QOT_ID=1";
Uri uri = new Uri(url);
var parameters = HttpUtility.ParseQueryString(uri.Query);
var id = parameters["QOT_ID"];
而id 变量保存您的参数值。
【讨论】:
Uri uri = new Uri(url);?
你可以使用这行代码:
int id = Convert.ToInt32(Request.QueryString["QOT_ID"]);
或者如果您想进行适当的检查,可以这样做:
int id;
if (int.TryParse(Request.QueryString["QOT_ID"], out id)) {
// Do something with the id variable
} else {
// Do something when QOT_ID cannot be parsed into an int
}
【讨论】:
QOT_ID 可以为 null 或字母组合
int id = Request.QueryString["QOT_ID"] != null && Int32.TryParse(Request.QueryString["QOT_ID"]) ? int.Parse(Request.QueryString["QOT_ID"]) : -1;
不能 100% 确定您是否可以安全地将空值传递给 Int32.TryParse。
【讨论】:
Request.QueryString[] 保证不返回null。
【讨论】:
Request.QueryString 集合包含所有 URL 参数 - 每个都可以通过名称访问:
var val = Request.QueryString["QOT_ID"];
所有返回值都是string 变量,因此您可能需要转换为适当的类型。
【讨论】: