标签: sharepoint-2007

正确实现带回发的webpart?

我要做的是创建一个webpart,它有一个文本框,你可以在webpart上设置一个文字(h2)的值,一个"保存"按钮发回,然后相应地设置文字.这适用于一个巨大的警告; 当页面在回发后加载时,文字未被更改.但是,如果我记录文字中实际设置的内容,则它具有新值.此外,如果我再次重新加载页面(F5),它会正确显示.

起初我认为它必须是ViewState,所以我为所有控件禁用了它.我确认它没有保存在ViewState中(解码后).所以ViewState没有保存旧值.

我正在使用"CreateChildControls"将我的控件添加到webpart.回发由一个简单的事件处理程序处理.

有任何想法吗?

为了记录,我正在使用MOSS 2007.

sharepoint postback web-parts sharepoint-2007

6
推荐指数
1
解决办法
1万
查看次数

SharePoint SiteDefinitions

我已经基于发布门户创建了一个简单的站点定义.每次我想使用模板创建网站集时,我都会收到以下错误消息:

您选择的模板无效或无法找到.

我不使用任何自定义功能,只使用发布门户网站site-def的默认功能.任何提示?

有一个错误日志,但它只是给我上面的信息:

Applying template "PalfingerPlatformsOrderRoot#0" to web at URL "http://datsa0004:8080/Platforms/Orders/0000112233".     
Failed to get the site template for language 1031, search key 'PalfingerPlatformsOrderRoot'. This warning is expected when provisioning from a custom web template.  
Failed to apply template "PalfingerPlatformsOrderRoot#0" to web at URL "http://datsa0004:8080/Platforms/Orders/0000112233".  
Failed to apply template "PalfingerPlatformsOrderRoot#0" to web at URL "http://datsa0004:8080/Platforms/Orders/0000112233", error The template you have chosen is invalid or cannot be found. 0x81071e44     
The template you have chosen is invalid or cannot be found.  
CreatePortal …
Run Code Online (Sandbox Code Playgroud)

sharepoint sharepoint-2007

6
推荐指数
1
解决办法
6445
查看次数

SharePoint计时器作业未被调用

我有一个计时器作业,已部署到具有多个Web前端的服务器.

  • 此计时器作业从分层对象库中读取其配置.
  • 此计时器作业计划在服务器上每天运行.

但问题是这个计时器工作不会每天被调用.我已经在计时器作业的Execute()方法中实现了事件记录,但是我没有看到生成任何日志.

  • 有关什么可能导致计时器作业无法被SharePoint定时服务执行的任何想法?我该如何解决这个问题?

  • 在多个前端的服务器中运行计时器作业是否有"问题"?计时器作业是否会在所有Web前端或其中任何一个中执行?如何知道哪台机器有我的事件日志?

  • 这可能是一个愚蠢的问题,但是有多个前端进行负载均衡会影响分层对象存储的行为方式吗?

编辑:

其中一位评论者Sean McDounough(感谢Sean !!)提出了一个非常好的观点:

"计时器作业是否在所有WFE上运行将是您在构造函数中指定的SPJobLockType枚举值的函数.使用值"无"表示作业将在所有WFE上运行."

现在,我的计时器作业负责将定期邮件发送到用户列表.目前它被标记为SPJobLockType.Job"

  • 如果我将其更改为SPJobLockType.None,这是否意味着我的计时器作业将分别在所有WFE中执行?(这是不希望的,它会通过多封电子邮件向所有用户发送垃圾邮件)

  • 或者是否意味着计时器作业将在任何一个WFE中执行,是否是任意的?

sharepoint moss wss sharepoint-2007 timer-jobs

6
推荐指数
1
解决办法
6897
查看次数

站点设置页面上的SharePoint自定义操作

我在SharePoint网站的"网站设置"页面上有一个自定义操作,该页面显示在UsersAndPermissions列表中.它是使用功能创建的,这是该功能的elements.xml文件:

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <CustomAction
    Id="SDITeamGroupApplicationPage"
    GroupId="UsersAndPermissions"
    Location="Microsoft.SharePoint.SiteSettings"
    Sequence="1000"
    Title="Create a Team Group">
    <UrlAction Url="_layouts/SDITeamGroupEdit.aspx"/>
  </CustomAction>
</Elements>
Run Code Online (Sandbox Code Playgroud)

目前,网站的所有用户都可以在"网站设置"页面上看到此链接.我希望能够限制谁可以看到此链接.这可能吗?怎么做到呢?

sharepoint custom-action sharepoint-2007

6
推荐指数
1
解决办法
8757
查看次数

使用System.DirectoryServices.AccountManagement时的DirectoryServicesCOMException

我正在尝试使用System.DirectoryServices.AccountManagment确定用户是否是给定组的成员.

  • 我在64位系统上的SharePoint 2007中的SharePoint WebPart中执行此操作.
  • 项目目标是.NET 3.5
  • 在web.config中启用了模拟.
  • 有问题的IIS站点使用IIS应用程序池,并将域用户配置为标识.

我可以实例化PrincipalContext如下:

PrincipalContext pc = new PrincipalContext(ContextType.Domain)

接下来,我试着抓住一个校长:

using (PrincipalContext pc = new PrincipalContext(ContextType.Domain))
{
   GroupPrincipal group = GroupPrincipal.FindByIdentity(pc, "MYDOMAIN\somegroup");
   // snip: exception thrown by line above.
}
Run Code Online (Sandbox Code Playgroud)

以上和UserPrincipal.FindByIdentity用户SAM都抛出DirectoryServicesCOMException:"登录失败:未知用户名或密码错误"

我已经尝试将完整的SAMAccountName传递给FindByIdentity(以MYDOMAIN \用户名的形式)或只是用户名而行为没有变化.我已尝试使用其他凭据HostingEnvironment.ImpersonateSPSecurity.RunWithElevatedPrivileges方法执行代码,并且也会遇到相同的结果.

我还尝试使用域名实例化我的上下文:

Principal Context pc = new PrincipalContext(ContextType.Domain, "MYDOMAIN");

这引发了PrincipalServerDownException:"无法联系到服务器."

我正在研究一台相当硬化的服务器.我没有锁定系统,所以我不确定它到底做了什么.如果我需要为我的池标识用户或域安全策略分配凭据以使这些凭据有效,我可以相应地配置域.是否有任何设置会阻止我的代码运行?我在代码本身中遗漏了什么吗?这在SharePoint网站中是不可能的吗?

编辑:经过进一步测试,我的代码在面向.NET 4.0的控制台应用程序中测试时正常运行.我针对不同的框架,因为在针对.NET 3.5出于某种原因我没有在控制台应用程序中使用AccountManagement.

using (PrincipalContext pc = new PrincipalContext(ContextType.Domain))
using (UserPrincipal adUser = UserPrincipal.FindByIdentity(pc, "MYDOMAIN\joe.user"))
using (GroupPrincipal adGroup …
Run Code Online (Sandbox Code Playgroud)

c# sharepoint-2007 account-management c#-3.0

6
推荐指数
1
解决办法
4528
查看次数

使用其ID获取列表

我正在尝试使用它的ID获取列表,但是它不起作用,我无法解决原因

这没有问题......

using (SPSite site = new SPSite("http://example.org/sites/specific/staffhandbook"))
using (SPWeb web = site.OpenWeb())
    {
        SPList list = web.Lists["Documents"];
        // process...
    }
Run Code Online (Sandbox Code Playgroud)

应该这样,但它不是吗?

using (SPSite site = new SPSite("http://example.org/sites/specific/staffhandbook"))
using (SPWeb web = site.OpenWeb())
    {
        SPList list = web.Lists["29540646-bcab-4beb-8a91-648c1f3178b8"];
        // process...
    }
Run Code Online (Sandbox Code Playgroud)

c# sharepoint sharepoint-2007

6
推荐指数
1
解决办法
2万
查看次数

阻止删除SharePoint列表项

如何防止用户删除sharepoint任务列表项?我应该覆盖ItemDeleting事件还是有任何其他站点级别选项可用于实现相同的目标?

sharepoint sharepoint-2007 sharepoint-list

6
推荐指数
2
解决办法
2万
查看次数

如何在sharepoint中使用Javascript验证登录用户

我需要通过在sharepoint设计器或内容编辑器webpart中使用JavaScript来检查登录用户是管理员还是非管理员用户.

谁有人建议?

javascript sharepoint sharepoint-designer sharepoint-2007

6
推荐指数
2
解决办法
3551
查看次数

如何在webpart中将SSRS报告中的URL打开到新窗口

我创建了一个报告,我将使用报表查看器通过webpart嵌入Sharepoint 2007.这很好用,看起来相当不错,但是在报告中我有一个文本字段,其操作是"转到URL".

当我单击webpart中的链接时,该链接将转到URL,但它会在webpart中打开URL.有点难看.除了设置URL之外,报表中的文本框似乎没有任何其他功能/属性.

如何使link/webpart在新选项卡或窗口中打开URL?除了告诉用户右键单击链接并"在新选项卡中打开"....

web-parts sharepoint-2007 reporting-services

6
推荐指数
2
解决办法
2万
查看次数

从Web部件获取当前SPWeb

我正在开发一个在SharePoint中使用的WebPart,它将显示文档库中的文档列表.为此,我认为我需要引用托管Web部件的SPWeb对象.不幸的是,我没有看到如何从WebPart中访问当前的SPSite或SPWeb.我如何从WebPart中访问这些内容?

sharepoint web-parts sharepoint-2007

5
推荐指数
1
解决办法
2万
查看次数