Hi,
I am using two instances of same user control, but this user control does not work properly.
when i am using single instance of this user control it works properly.
In this user control, i have used rad window and RadAjaxManagerProxy control.
In single instance scenario, rad window works properly means it was close properly on cancel button and
shows ajaxloadingpanel on OK button during processing, but when i am using the same user control with multiple instances then rad window does not work properly.
I have added source code of this user control and aspx page.
Please suggest me the solution.
thanks
This is source of "Picker.ascx" user control
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Picker.ascx.cs" Inherits="Picker" %>
<%@ Register Assembly="Telerik.Web.UI, Version=2010.1.519.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4"
Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<
telerik:RadAjaxManagerProxy
ID
=
"RadAjaxManagerProxy1"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"gvPeoplePicker"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"gvPeoplePicker"
LoadingPanelID
=
"AjaxLoadingPnl"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"btnOK"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"gvPeoplePicker"
LoadingPanelID
=
"AjaxLoadingPnl"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"btnOK"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"txtBoxPicker"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManagerProxy
>
<
div
nowrap>
<
table
>
<
tr
>
<
td
>
<
telerik:RadTextBox
ID
=
"txtBoxPicker"
runat
=
"server"
>
</
telerik:RadTextBox
>
</
td
>
<
td
>
<
asp:Button
ID
=
"btnOpenPicker"
runat
=
"server"
Text
=
"..."
OnClientClick
=
"return false;"
/>
</
td
>
</
tr
>
</
table
>
</
div
>
<
telerik:RadAjaxLoadingPanel
ID
=
"AjaxLoadingPnl"
runat
=
"server"
Skin
=
"Default"
>
</
telerik:RadAjaxLoadingPanel
>
<
telerik:RadWindow
ID
=
"WndPicker"
runat
=
"server"
OpenerElementID ="<%# btnOpenPicker.ClientID %>"
Height="520" Width ="858" Behaviors ="Close,Move" Modal ="true" VisibleStatusbar ="false"
ReloadOnShow ="true" ShowContentDuringLoad="false" DestroyOnClose ="true">
<
ContentTemplate
>
<
table
width
=
"100%"
>
<
tr
>
<
td
nowrap
style
=
"border-bottom: solid 1px lightgray; height: 40px; vertical-align: middle"
>
<
table
>
<
tr
>
<
td
valign
=
"middle"
style
=
"vertical-align: middle"
>
<
asp:Image
ID
=
"imagePeople"
runat
=
"server"
ImageUrl
=
"~/Images/1278314238_people.png"
Height
=
"30px"
Width
=
"30px"
/>
</
td
>
<
td
valign
=
"middle"
style
=
"vertical-align: middle"
>
<
asp:Label
ID
=
"lblMsg"
runat
=
"server"
Text
=
"Search for people from the database."
Font-Names
=
"Arial"
Font-Size
=
"8.5pt"
ForeColor
=
"Gray"
></
asp:Label
>
</
td
>
</
tr
>
</
table
>
</
td
>
</
tr
>
</
table
>
<
table
width
=
"100%"
>
<
tr
>
<
td
nowrap>
<
telerik:RadGrid
ID
=
"gvPeoplePicker"
runat
=
"server"
ShowHeader
=
"true"
EnableLinqExpressions
=
"false"
AutoGenerateColumns
=
"false"
GridLines
=
"Horizontal"
AllowFilteringByColumn
=
"true"
Width
=
"100%"
AllowPaging
=
"false"
>
<
MasterTableView
ShowHeadersWhenNoRecords
=
"true"
>
<
Columns
>
<
telerik:GridBoundColumn
HeaderText
=
"Employee ID"
UniqueName
=
"EmployeeID"
DataType
=
"System.Int32"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Department"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Branch"
DataType
=
"System.String"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Nationality"
DataField
=
"Nationality"
DataType
=
"System.String"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Gender"
DataField
=
"Gender"
DataType
=
"System.String"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
<
ClientSettings
>
<
Scrolling
AllowScroll
=
"true"
ScrollHeight
=
"300px"
UseStaticHeaders
=
"true"
/>
<
Resizing
AllowColumnResize
=
"true"
/>
</
ClientSettings
>
</
telerik:RadGrid
>
</
td
>
</
tr
>
<
tr
>
<
td
>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"right"
>
<
asp:Button
ID
=
"btnOK"
runat
=
"server"
Text
=
"OK"
Width
=
"70px"
OnClick
=
"btnOK_Click"
/>
<
asp:Button
ID
=
"btnCancel"
runat
=
"server"
Text
=
"Cancel"
OnClientClick
=
"CloseWnd();return false;"
/>
</
td
>
</
tr
>
<
tr
>
<
td
>
</
td
>
</
tr
>
</
table
>
</
ContentTemplate
>
</
telerik:RadWindow
>
<
telerik:RadCodeBlock
ID
=
"RadCodeBlock1"
runat
=
"server"
>
<
script
language
=
"javascript"
type
=
"text/javascript"
>
function CloseWnd() {
$find("<%=WndPicker.ClientID%>").close();
return false;
}
</
script
>
</
telerik:RadCodeBlock
>
This is code behind code of "Picker.ascx.cs"
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data ;
using System.Data.SqlClient ;
using Telerik.Web .UI ;
public partial class Picker : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
gvPeoplePicker.DataSource = string.Empty;
}
protected void btnOK_Click(object sender, EventArgs e)
{
System.Threading.Thread.Sleep(2000);
txtBoxPicker.Text = "Result.";
ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "", "CloseWnd();", true);
}
}
Source of "Default.aspx" file. This aspx page contain single instance of user control.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register Assembly="Telerik.Web.UI, Version=2010.1.519.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4"
Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<%@ Register src="Picker.ascx" tagname="Picker" tagprefix="uc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
</telerik:RadAjaxManager>
<div>
Single Instance
<uc1:Picker ID="Picker1" runat="server" />
</div>
<br />
<br />
<asp:Button ID="Button1" runat="server" Text="Page 2" onclick="Button1_Click" />
</form>
</body>
</html>
Code behind code of "Default.aspx
.cs" file.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("Default2.aspx");
}
}
code of "Default2.aspx" file. This page contain multiple instance of same user control.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<%@ Register Assembly="Telerik.Web.UI, Version=2010.1.519.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4"
Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<%@ Register src="Picker.ascx" tagname="Picker" tagprefix="uc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
</telerik:RadAjaxManager>
<div nowrap>
User Control (1st Instance) <uc1:Picker ID="Picker1" runat="server" />
</div>
<br />
<div nowrap>
User Control (2nd Instance) <uc1:Picker ID="Picker2" runat="server" />
</div>
</form>
</body>
</html>