手动建立UpdatePanle,部署到sharepoint里面

代码来源于网络,新建类库项目,添加类UserAjaxTest!注意把项目强签名!否则部署会部署到sharepoint会不成功! 下载WSPBuilder工具,生成WSP! 部署到sharepoint即可!

一下代码我测试通过了!

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI;

using System.Web.UI.WebControls;



///添加引用 "System.Web.Extensions" 注意版本选择 应和你的 .net 版本相同

///添加引用 "System.web"

namespace Sample.SayHello

{

    public class UserAjaxTest : WebPart

    {

        private Label displayName;

        private TextBox inputName;



        protected override void CreateChildControls()

        {

            base.CreateChildControls();



            //Fix for the UpdatePanel postback behaviour.

            EnsurePanelFix();



            LinkButton sayHello = new LinkButton();

            UpdatePanel refreshName = new UpdatePanel();

            ScriptManager scriptHandler = new ScriptManager();

            displayName = new Label();

            inputName = new TextBox();



            //Set up control properties.

            this.displayName.ID = "displayName";

            this.displayName.Text = "Hello!";

            this.inputName.ID = "inputName";

            sayHello.ID = "sayHello";

            sayHello.Text = "Say Hello";

            scriptHandler.ID = "scriptHandler";

            refreshName.ID = "refreshName";

            refreshName.UpdateMode = UpdatePanelUpdateMode.Conditional;

            refreshName.ChildrenAsTriggers = true;



            //Add the EventHandler to the Button.

            sayHello.Click += new EventHandler(ClickHandler);



            //Add the user interface (UI) controls to the UpdatePanel.

            refreshName.ContentTemplateContainer.Controls.Add(this.inputName);

            refreshName.ContentTemplateContainer.Controls.Add(sayHello);

            refreshName.ContentTemplateContainer.Controls.Add(this.displayName);



            //The ScriptManager control must be added first.

            this.Controls.Add(scriptHandler);

            this.Controls.Add(refreshName);

        }



        private void ClickHandler(object sender, EventArgs args)

        {

            this.displayName.Text = "Hello " + this.inputName.Text.ToString() + " !";

        }



        private void EnsurePanelFix()

        {

            if (this.Page.Form != null)

            {

                String fixupScript = @"

     _spBodyOnLoadFunctionNames.push(""_initFormActionAjax"");

     function _initFormActionAjax

     {

       if (_spEscapedFormAction == document.forms[0].action)

       {

         document.forms[0]._initialAction = 

         document.forms[0].action;

       }

     }

     var RestoreToOriginalFormActionCore = 

       RestoreToOriginalFormAction;

     RestoreToOriginalFormAction = function

     {

       if (_spOriginalFormAction != null)

       {

         RestoreToOriginalFormActionCore;

         document.forms[0]._initialAction = 

         document.forms[0].action;

       }

     }";

                ScriptManager.RegisterStartupScript(this,

                  typeof(UserAjaxTest), "UpdatePanelFixup",

                  fixupScript, true);

            }

        }

    }

}

你可能感兴趣的:(SharePoint)