Sharepoint"编辑页面"由于某些webpart而继续加载

时间:2015-01-20 03:48:18

标签: asp.net sharepoint web-parts

我有一个sharepoint测试页面。我在开发之前插入了我的webpart,但经过一段时间后,我发现当我点击“编辑页面”时,“加载”标签将永远运行,我无法编辑我的页面。

然后我尝试在我的页面网址后面输入“?Contents = 1”,删除webpart并重新添加。当我尝试保存更改时,“保存”标记也会永久运行。

这样的问题只发生在我的网站上。我尝试使用其他webparts,它们完美无缺。有人有点想法吗?

2 个答案:

答案 0 :(得分:0)

在您的自定义网页部件代码中,您可以通过以下代码了解网页是否处于编辑模式。调试代码并尝试理解等待的依赖。 通过这种方式,您可以修改您的webpart以进行编辑模式。

 protected override void OnLoad(System.EventArgs e)
 {
 if (this.IsInEditMode)
        {

        }
 }    

private bool IsInEditMode
    {
        get
        {
            SPWebPartManager currentWebPartManager = (SPWebPartManager)WebPartManager.GetCurrentWebPartManager(this.Page);
            return (((currentWebPartManager != null) && !base.IsStandalone) && currentWebPartManager.GetDisplayMode().AllowPageDesign);
        }
    }

答案 1 :(得分:0)

好的,我找到了原因。由于我的webpart有一个文本框验证器,默认情况下文本框是隐藏的,当我点击"编辑页面"时,验证器将被触发并阻止编辑。我将以下代码放在我的page_load JavaScript中,问题就解决了。

$(function () {
    var rfv = document.getElementById("<%=rfvName.ClientID%>");
    ValidatorEnable(rfv, false);
});