如何从 SharePoint 的查询字符串中获取键值?

How to get key value from query string from SharePoint?

我有一个url:http://test?ID=i:0#.w|pro\administrator

我想用 c# 代码获取当前用户(从 Sharepoint)。

所以我使用了QueryString,这里是:

private string userLogin = HttpContext.Current.Request.QueryString["ID"];

但是问题是QueryString返回的值是i:0.

为什么?

因为那是您的 URL 指定的 ID 参数的值。 # 是 URL 中的一个特殊字符,它之后的所有字符都是 URL 的单独部分。您应该 URL 在构造 URL 时首先对参数值进行编码,以确保 # (和任何其他字符)被视为 [=10 值中的字符=] 查询参数.

如果需要获取当前用户,为什么不用SP native方法:

SPWeb web = SPControl.GetContextWeb(SPContext.Current);       
uName = web.CurrentUser.ID;