Search 使用当前用户更改搜索结果核心web部件中的固定关键字查询,(作者:{CurrentUser})
是否有方法更改搜索结果核心web部件中的固定关键字查询以获取当前用户(Search 使用当前用户更改搜索结果核心web部件中的固定关键字查询,(作者:{CurrentUser}),search,sharepoint-2010,web-parts,Search,Sharepoint 2010,Web Parts,是否有方法更改搜索结果核心web部件中的固定关键字查询以获取当前用户(作者:{CurrentUser}) 我已经使用了作用域和过滤器,可以很好地提供固定关键字查询,但无法将其更改为始终获取当前用户 基本上,我希望FixedQuery字段为author:Last-First 这里有几篇文章提示了这一点,但我只想在.aspx文件中的XSL中动态地更改它,并完成它。有人吗 好的,我找到了一个解决方法。我会尽可能简单地安排它 创建一个新的ASPX页面,该页面上有一个“核心结果Web部件”,并且在属性设
作者:{CurrentUser}
)
我已经使用了作用域和过滤器,可以很好地提供固定关键字查询,但无法将其更改为始终获取当前用户
基本上,我希望FixedQuery
字段为author:Last-First
这里有几篇文章提示了这一点,但我只想在.aspx
文件中的XSL
中动态地更改它,并完成它。有人吗
好的,我找到了一个解决方法。我会尽可能简单地安排它
核心结果Web部件
”,并且在属性设置为“用户查询
”的“结果查询选项
”下有“跨Web部件查询ID
”页面视图Web部件
”内部调用此页面,wep部件在iframe中加载另一个页面。然后,我们将把查询添加到正在“页面视图Web部件
”中加载的页面的URL中。(例如,site.com/ourAspxFromStep1.aspx?k=author:first%20last
)core\u wp\u for_embed.aspx
是上述步骤1中提到的文件
protected void refreshFeeds(string tmpUserName, SPUserToken userToken) {
using(SPSite site = new SPSite("http://www.site.com")) {
using(SPWeb web = site.OpenWeb()) {
web.AllowUnsafeUpdates = true;
SPFile file = web.GetFile(web.Url + "/currentPage.aspx");
using(SPLimitedWebPartManager webPartManager =
file.GetLimitedWebPartManager(PersonalizationScope.User)) {
SPLimitedWebPartCollection webparts = webPartManager.WebParts;
int j = webparts.Count;
for (int k = j - 1; k >= 0; k--) {
Microsoft.SharePoint.WebPartPages.WebPart wp =
(Microsoft.SharePoint.WebPartPages.WebPart)webparts[k];
if (wp.GetType().ToString() ==
"Microsoft.SharePoint.WebPartPages.PageViewerWebPart") {
webPartManager.DeleteWebPart(wp);
}
}
// Zone should be cleared. Now loop through list on users site and add web parts for each item
SPSite site2 = new SPSite("http://www.site.com/personal/" + tmpUserName);
SPWeb web2 = site2.OpenWeb();
SPList list = web2.Lists["SomeUserList"];
int i = 0;
foreach(SPListItem currentItem in list.Items) {
if(Convert.ToBoolean(currentItem["BooleanField"]) == true) {
PageViewerWebPart pvwp = new PageViewerWebPart();
pvwp.Title = currentItem["Title"].ToString();
pvwp.ChromeState = System.Web.UI.WebControls.WebParts.PartChromeState.Normal;
pvwp.ChromeType = System.Web.UI.WebControls.WebParts.PartChromeType.TitleOnly;
pvwp.ContentLink = "http://www.site.com/core_wp_for_embed.aspx?k=scope:"
+ currentItem["Item_Scope"].ToString();
pvwp.AllowEdit = true;
webPartManager.AddWebPart(pvwp, "someZone", i);
webPartManager.SaveChanges(pvwp);
i++;
}
}
}
web.Update();
web.AllowUnsafeUpdates = false;
}
}
Response.Redirect(Request.RawUrl);
}
好的,我已经找到了一个解决方法。我会尽可能简单地安排它
核心结果Web部件
”,并且在属性设置为“用户查询
”的“结果查询选项
”下有“跨Web部件查询ID
”页面视图Web部件
”内部调用此页面,wep部件在iframe中加载另一个页面。然后,我们将把查询添加到正在“页面视图Web部件
”中加载的页面的URL中。(例如,site.com/ourAspxFromStep1.aspx?k=author:first%20last
)core\u wp\u for_embed.aspx
是上述步骤1中提到的文件
protected void refreshFeeds(string tmpUserName, SPUserToken userToken) {
using(SPSite site = new SPSite("http://www.site.com")) {
using(SPWeb web = site.OpenWeb()) {
web.AllowUnsafeUpdates = true;
SPFile file = web.GetFile(web.Url + "/currentPage.aspx");
using(SPLimitedWebPartManager webPartManager =
file.GetLimitedWebPartManager(PersonalizationScope.User)) {
SPLimitedWebPartCollection webparts = webPartManager.WebParts;
int j = webparts.Count;
for (int k = j - 1; k >= 0; k--) {
Microsoft.SharePoint.WebPartPages.WebPart wp =
(Microsoft.SharePoint.WebPartPages.WebPart)webparts[k];
if (wp.GetType().ToString() ==
"Microsoft.SharePoint.WebPartPages.PageViewerWebPart") {
webPartManager.DeleteWebPart(wp);
}
}
// Zone should be cleared. Now loop through list on users site and add web parts for each item
SPSite site2 = new SPSite("http://www.site.com/personal/" + tmpUserName);
SPWeb web2 = site2.OpenWeb();
SPList list = web2.Lists["SomeUserList"];
int i = 0;
foreach(SPListItem currentItem in list.Items) {
if(Convert.ToBoolean(currentItem["BooleanField"]) == true) {
PageViewerWebPart pvwp = new PageViewerWebPart();
pvwp.Title = currentItem["Title"].ToString();
pvwp.ChromeState = System.Web.UI.WebControls.WebParts.PartChromeState.Normal;
pvwp.ChromeType = System.Web.UI.WebControls.WebParts.PartChromeType.TitleOnly;
pvwp.ContentLink = "http://www.site.com/core_wp_for_embed.aspx?k=scope:"
+ currentItem["Item_Scope"].ToString();
pvwp.AllowEdit = true;
webPartManager.AddWebPart(pvwp, "someZone", i);
webPartManager.SaveChanges(pvwp);
i++;
}
}
}
web.Update();
web.AllowUnsafeUpdates = false;
}
}
Response.Redirect(Request.RawUrl);
}
在这里有一个星期的赏金但是什么都没有。。。有人有什么吗?在这里有一个星期的赏金但什么都没有。。。有人有什么吗?