【问题标题】:Add ASP.NET control to Sharepoint Web Part将 ASP.NET 控件添加到 Sharepoint Web 部件
【发布时间】:2010-11-02 09:39:03
【问题描述】:

我想将 ASP.NET LinkBut​​ton 动态添加到我的 SharePoint Web 部件。我将 LinkBut​​ton 与事件处理程序挂钩,但是当我执行代码时,似乎从未触发该事件。

我应该在生命周期的哪个位置(哪个事件)添加这样的控件以及如何添加?

谢谢。

【问题讨论】:

    标签: asp.net sharepoint web-parts


    【解决方案1】:

    在webpart的CreateChildControls()事件中添加,如:

    protected override void CreateChildControls()
    {      
        LinkButton linkbutton = new LinkButton();
        linkbutton.Click += ClickButton;
        this.Controls.Add(linkbutton);
    
    }
    
    protected void ClickButton(object sender, EventArgs e)
    {
        // handle event
    }
    

    【讨论】:

      【解决方案2】:

      如果您需要让控件触发服务器事件,您需要在 Page_Init 或 Page_Load 生命周期中注册控件以触发事件。如果您在 PreRender 阶段添加控件,则为时已晚。或者重写 CreateChildControls() 方法并在该方法中添加控件。

      您不需要做任何特别的事情来添加控件,只需:

      var linkBut​​ton = new LinkBut​​ton(); //注册事件 Controls.Add(linkBut​​ton);

      【讨论】:

        【解决方案3】:

        我也遇到了同样的问题。通过在 CreateChildControls 中添加 LinkBut​​ton 并显式设置 ID,然后使用 INamingContainer 接口装饰我的 WebPart 解决了我的问题。

        【讨论】:

          猜你喜欢
          • 2013-09-24
          • 2012-12-24
          • 2012-04-14
          • 1970-01-01
          • 2012-10-09
          • 2017-04-12
          • 2011-07-21
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多