小弟初接触sharepoint
现在在sharepoint2013的网站页面中嵌入报表链接,需要将用户的信息作为参数传入到报表中,以下是一个网站页面中的部分代码-报表URL
user_id后面是需要传入用户的信息
href="http://z69-tstreport:8012/ReportServer/Pages/ReportViewer.aspx?/New_Report/Report1&rs:Command=Render&user_id=<%= System.Web.HttpContext.Current.User.Identity.Name.ToString() %>"
度娘上找到获取用户信息的代码,但是我打开链接到报表上,用户的信息并没有获得到,而且传入这个信息<%= System.Web.HttpContext.Current.User.Identity.Name.ToString() %>"
.NET
System.Web.HttpContext.Current.User.Identity.Name.ToString();
或者:MOSS
SPContext.Current.Site.OpenWeb().CurrentUser.Name.ToString();
请问大神们这个问题该怎么处理
------解决思路----------------------
要看报表,如果是SharePoint页面的话,调用SharePoint对象模型封装一个用户控件或者WebPart都行;都能获取到
SPContext.Current.Site.OpenWeb().CurrentUser.Name即可
------解决思路----------------------
楼上正解啊,用SPContext上下文
------解决思路----------------------
奇怪 你要代码?
SPUser getUser = SPContext.Current.Web.CurrentUser;
Session["userName"] = getUser.Name;
Session["loginName"] = getUser.LoginName;
HiddenLoginName.Value = getUser.LoginName;
HiddenFieldAuthor.Value = SPContext.Current.Web.CurrentUser.LoginName;
getuser 是用户所有信息
------解决思路----------------------
你只拷贝了ascx 吗? ascx关联的cs文件拷贝了吗?我不知道你怎么部署的,感觉是你的项目的dll没有被部署到GAC里,所以找不到。
------解决思路----------------------
将ascx用户控件复制到C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\CONTROLTEMPLATES文件夹下
部署方法不对,这个文件不是手动拷贝的。你拷贝了这个文件,但是ascx关联的dll没有部署。
使用VS的话,F5 就直接部署上了(或者手动安装solution部署)。 但是不是这么手动拷贝文件部署的。