This is a migrated thread and some comments may be shown as answers.

[Solved] RadAjaxManager not working with SharePoint Web Part

1 Answer 206 Views
Ajax
This is a migrated thread and some comments may be shown as answers.
Savan
Top achievements
Rank 1
Savan asked on 27 Jun 2009, 09:24 AM
Hi,

I am using web user control (.ascx) in SharePoint Web part.
I am using two panels in web user control.
I have many controls in two panels.

I want to update some controls of second panel on event of contols in first panel and vice versa.

I also looked at the example given at 
http://demos.telerik.com/aspnet-ajax/ajax/examples/manager/usercontrol/defaultcs.aspx
but, it not working.

Please help me.

ASCX CODE:

<%@ Control Language="C#" AutoEventWireup="true" Inherits="EIMS.RadTest, EIMS, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9f4da00116c38ec5" %>
<%@ Register Assembly="Telerik.Web.UI, Version=2009.1.311.0, Culture=neutral, PublicKeyToken=29ac1a93ec063d92"
    Namespace="Telerik.Web.UI" TagPrefix="telerik" %>

<telerik:RadTabStrip ID="RadTabStrip1" runat="server" MultiPageID="RadMultiPage1">
    <Tabs>
        <telerik:RadTab Text="First" ID="RadTabFirst" runat="server" >
           
        </telerik:RadTab>
       
        <telerik:RadTab Text="Second" ID="RadTabSecond" runat="server" >
           
        </telerik:RadTab>
       
        <telerik:RadTab Text="Third" ID="RadTabThird" runat="server" >
           
        </telerik:RadTab>
    </Tabs>
</telerik:RadTabStrip>
<telerik:RadMultiPage ID="RadMultiPage1" runat="server">
   
    <telerik:RadPageView ID="RadPageView1" runat="server" Selected="true">                
           
           
        <telerik:RadAjaxPanel ID="RadAjaxPanel2" runat="server" >
       
        <telerik:RadComboBox ID="RadComboBox1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="RadComboBox1_SelectedIndexChanged" >
            <Items>
                <telerik:RadComboBoxItem Text="Rajesh1" Value="1"/>
                <telerik:RadComboBoxItem Text="Rajesh2" Value="2"/>
                <telerik:RadComboBoxItem Text="Rajesh3" Value="3"/>
            </Items>
        </telerik:RadComboBox>
 <p/>
           
            <asp:Label ID="Lable1" runat="server" Text="Lable1"></asp:Label>
            <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
           
        </telerik:RadAjaxPanel>
    </telerik:RadPageView>
   
    <telerik:RadPageView ID="RadPageView2" runat="server">
       
        RadPageView2
       
    </telerik:RadPageView>
   
    <telerik:RadPageView ID="RadPageView3" runat="server">
    RadPageView3
       
    </telerik:RadPageView>
   
</telerik:RadMultiPage>

<telerik:RadAjaxManagerProxy ID="AjaxManagerProxy1" runat="server">
    <AjaxSettings>
        <telerik:AjaxSetting AjaxControlID="RadComboBox1">
            <UpdatedControls>
                <telerik:AjaxUpdatedControl ControlID="RadTabStrip1" />               
            </UpdatedControls>
        </telerik:AjaxSetting>       
    </AjaxSettings>
</telerik:RadAjaxManagerProxy>


Code Behind:

 

using

System;

 

 

 

using

System.Collections.Generic;

 

 

 

using

System.Web;

 

 

 

using

System.Web.UI;

 

 

 

using

System.Web.UI.WebControls;

 

 

 

using

Telerik.Web.UI;

 

 

 

namespace

EIMS

 

{

 

public class RadTest : System.Web.UI.UserControl

 

 

 

{

 

protected RadTab RadTabSecond;

 

 

protected RadTab RadTabThird;

 

 

protected RadTab RadTabFirst;

 

 

protected Label Lable1;

 

 

protected Button Button1;

 

 

protected RadComboBox RadComboBox1;

 

 

 

protected RadAjaxManager RadAjaxManager1;

 

 

protected RadMultiPage RadMultiPage1;

 

 

 

protected RadPageView RadPageView1;

 

 

protected RadPageView RadPageView2;

 

 

protected RadPageView RadPageView3;

 

 

 

protected RadTabStrip RadTabStrip1;

 

 

protected RadAjaxManagerProxy AjaxManagerProxy1;

 

 

protected void Page_Load(object sender, EventArgs e)

 

{

RadTabThird.Visible =

false;

 

RadTabSecond.Visible =

false;

 

}

 

protected void Button1_Click(object sender, EventArgs e)

 

{

Lable1.Text =

"in second panel";

 

RadComboBox1.Items.Add(

new Telerik.Web.UI.RadComboBoxItem(Convert.ToString("Rajesh" + (RadComboBox1.Items.Count + 1)), Convert.ToString(RadComboBox1.Items.Count + 1)));

 

}

 

protected void RadComboBox1_SelectedIndexChanged(object o, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e)

 

{

Lable1.Text = RadComboBox1.Text;

RadTabThird.Visible =

true;

 

RadTabSecond.Visible =

true;

 

 

}

}

}

Web Part Code:

 

using

System;

 

 

 

 

using

System.Runtime.InteropServices;

 

 

 

 

using

System.Web.UI;

 

 

 

 

using

System.Web.UI.WebControls;

 

 

 

 

using

System.Web.UI.WebControls.WebParts;

 

 

 

 

using

System.Xml.Serialization;

 

 

 

 

using

Microsoft.SharePoint;

 

 

 

 

using

Microsoft.SharePoint.WebControls;

 

 

 

 

using

Microsoft.SharePoint.WebPartPages;

 

 

 

 

using

Telerik.Web.UI;

 

 

 

 

namespace

EIMS

 

{

[

Guid("2a14a7a4-4ef6-4b1a-b698-4d0f66719d34")]

 

 

public class RadPanelTest : System.Web.UI.WebControls.WebParts.WebPart

 

 

 

 

{

 

private Control _childControl = null;

 

 

private ScriptManager _AjaxManager;

 

 

private RadAjaxManager RadAjaxManager1;

 

 

public RadPanelTest()

 

{

}

 

protected override void OnInit(EventArgs e)

 

{

 

base.OnInit(e);

 

_AjaxManager =

ScriptManager.GetCurrent(this.Page);

 

 

if (_AjaxManager == null)

 

{

_AjaxManager =

new ScriptManager();

 

_AjaxManager.EnablePartialRendering =

true;

 

_AjaxManager.AsyncPostBackTimeout = 120;

Page.ClientScript.RegisterStartupScript(

typeof(RadPanelTest), this.ID, "_spOriginalFormAction = document.forms[0].action;", true);

 

 

if (this.Page.Form != null)

 

{

 

string formOnSubmitAtt = this.Page.Form.Attributes["onsubmit"];

 

 

if (!string.IsNullOrEmpty(formOnSubmitAtt) && formOnSubmitAtt == "return _spFormOnSubmitWrapper();")

 

{

 

this.Page.Form.Attributes["onsubmit"] = "_spFormOnSubmitWrapper();";

 

}

 

this.Page.Form.Controls.AddAt(0, _AjaxManager);

 

 

}

}

RadAjaxManager1 =

RadAjaxManager.GetCurrent(this.Page);

 

 

if (RadAjaxManager1 == null)

 

{

RadAjaxManager1 =

new RadAjaxManager();

 

 

this.Page.Form.Controls.AddAt(0, RadAjaxManager1);

 

}

}

 

protected override void CreateChildControls()

 

{

 

base.CreateChildControls();

 

_childControl = Page.LoadControl(

"/UserControl/RadTest.ascx");

 

 

if (_childControl != null)

 

Controls.AddAt(0, _childControl);

 

}

}

}

1 Answer, 1 is accepted

Sort by
0
Georgi Krustev
Telerik team
answered on 02 Jul 2009, 08:33 AM
Hello Savan,

May I suggest you call EnsureChildControls() at the end of the OnInit event handler.
Let me know if there is any difference.

Regards,
Georgi Krustev
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Check out the tips for optimizing your support resource searches.
Tags
Ajax
Asked by
Savan
Top achievements
Rank 1
Answers by
Georgi Krustev
Telerik team
Share this question
or