我有一个网址:http://test?ID=i:0#.w|pro\administrator
我想用c#代码获取当前用户(来自Sharepoint)。
所以我使用了QueryString,这里是:
private string userLogin = HttpContext.Current.Request.QueryString["ID"];
但问题是QueryString返回的值是i:0
。
为什么?
答案 0 :(得分:0)
因为这是您的网址指定的ID
参数的值。 #
是URL中的特殊字符,后面的所有内容都是URL的一个单独部分。在构造URL时,您应首先对参数的值进行URL编码,以确保#
(以及任何其他字符)被视为ID
查询参数值中的字符。
答案 1 :(得分:0)
如果您需要获得当前用户,为什么不使用SP本机方法:
SPWeb web = SPControl.GetContextWeb(SPContext.Current);
uName = web.CurrentUser.ID;