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

Usercontrol onto Usercontrol and call RadWindow with return

1 Answer 70 Views
Window
This is a migrated thread and some comments may be shown as answers.
Michael
Top achievements
Rank 1
Michael asked on 12 Jan 2011, 12:42 PM

Hello,

I realize that this issue is not new to the forum.  Unfortunately I haven't been able to find a resolution to my problem in the previous threads.
I have followed structure in my Application:

1. Web site with Usercontrol_1 (loaded in placeholder dynamically)
1.1. RadWindow_1 can be called from Usercontrol_1 und returned a value to it.
2 Usercontrol_1 contents on his part Usercontrol_2 (also loaded dynamically).
2.1. Usercontrol_2 called RadWindow_2 und received from it returned value. But this works only first time. The second time around
oWnd.BrowserWindow.refreshRadGrid_2(oArg) not worked. RadGrid_2 is placed onto Usercontrol_2.
If I try to call instead of refreshRadGrid_2 another function refreshLabel (also refresh Label, resided onto Usercontrol_1) its work perfectly any time.

Here is part of my code:
Usercontrol_1 (works fine):
#################
<telerik:radscriptblock id="RadScriptBlock1" runat="server">
<script type="text/javascript">
function ShowWndFallSuchen() {
    
var oWnd = radopen('Suche.aspx', 'RadWindow1');
}

 

 

 

function refreshLabeFallNr(arg) {
    
if (!arg) {
        alert(
"Keine args");
    }
    
var ajaxManager = $find("<%= RadAjaxManager1.ClientID %>");
    
if (ajaxManager != null) {
        ajaxManager.ajaxRequest(arg.RetVal);
    }
    
else {
        $create(Telerik.Web.UI.RadAjaxManager,
null, null, null, $get("<%= RadAjaxManager1.ClientID %>"));
        ajaxManager = $find(
"<%= RadAjaxManager1.ClientID %>");
        ajaxManager._uniqueID = $get(
"<%= btnSpeichern.ClientID %>").id.replace('btnSpeichern', 'RadAjaxManager1');
        ajaxManager._uniqueID = ajaxManager._uniqueID.replace(/_/g,
'$');
        
var lbl = $get("<%= lblBezugFallNr.ClientID %>");
        ajaxManager.ajaxRequest(arg.RetVal);
    }
}
</script>
</
telerik:radscriptblock>
<
telerik:radajaxmanager id="RadAjaxManager1" runat="server" onajaxrequest="RadAjaxManager1_AjaxRequest">
<ajaxsettings>
<telerik:AjaxSetting AjaxControlID="RadAjaxManager1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="lblBezugFallNr" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="lblBezugFallNr">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="lblBezugFallNr" />
</UpdatedControls>
</telerik:AjaxSetting>
</ajaxsettings>
</
telerik:radajaxmanager>
#################

Seite1.aspx  (placed onto RadWindow1 and works fine)
#################
<telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
<script type="text/javascript">
function returnToParent() {
    
var rtbFallNr = document.getElementById("rtbFallNr");
    
var fallNr = rtbFallNr.value;
    
var oArg = new Object();
    oArg.RetVal = fallNr;
    
var oWnd = GetRadWindow();
    oWnd.close(oArg);
    
if (fallNr.trim() != "") {
        oWnd.BrowserWindow.refreshLabeFallNr(oArg);
    }
    
else {
        alert(
"Keine Treffer");
    }
}

 

 

function GetRadWindow() {
    
var oWindow = null;
    
if (window.radWindow) oWindow = window.radWindow;
    
else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow;
    
return oWindow;
}
</script>
</
telerik:RadScriptBlock>
#################

Usercontrol_2 (That is embedded onto Usercontrol_1). Worked only first time.
#################
<telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
<script type="text/javascript">
function ShowWndBeteiligter() {
    
var oWnd = radopen('../CreateEdit/Beteiligter.aspx', 'RadWindow2');
}

 

 

function refreshGrid(arg) {
    
if (!arg) {
        $find(
"<%= RadAjaxManager1.ClientID %>").ajaxRequest("empty");
    }
    
else {
        $find(
"<%= RadAjaxManager1.ClientID %>").ajaxRequest(arg.RetVal);
    }
}
</script>

 

</

 

telerik:RadScriptBlock>
<
telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" OnAjaxRequest="RadAjaxManager1_AjaxRequest">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="RadAjaxManager1">
    
<UpdatedControls>
        
<telerik:AjaxUpdatedControl ControlID="RadGridBeteiligen" /
        
<telerik:AjaxUpdatedControl ControlID="lblTest" />
    
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</
telerik:RadAjaxManager>
#################

Seite2.aspx  (placed onto RadWindow2). Worked only first time, afterwards stops at oWnd.BrowserWindow.refreshGrid(oArg);
#################
<telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
<script type="text/javascript">
function returnToParent() {
    
var rtbName = document.getElementById("rtbName");
    
var name = rtbName.value;
    var oArg = new Object();
    oArg.RetVal = fallNr;
    
var oWnd = GetRadWindow();
    oWnd.close(oArg);    
    
if (fallNr.trim() != "") {
        oWnd.BrowserWindow.refreshGrid(oArg);
    }
    
else {
        alert(
"Keine Treffer");
    }
}

 

 

function GetRadWindow() {
    
var oWindow = null;
    
if (window.radWindow) oWindow = window.radWindow;    
    
else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow;
    
return oWindow;
}
</script>
</
telerik:RadScriptBlock>
#################


 

 

 

 

1 Answer, 1 is accepted

Sort by
0
Georgi Tunev
Telerik team
answered on 17 Jan 2011, 10:19 AM
Hi Michael,

The portions of code that you posted look OK, so at this point I cannot say what the reason for the problem might be. To be able to help, we'll need to get a better view over your exact setup and logic - please, if you still experience this problem, open a support ticket and send us a sample project that isolates the behavior. We will check it and do our best to help.

All the best,
Georgi Tunev
the Telerik team
Browse the vast support resources we have to jump start your development with RadControls for ASP.NET AJAX. See how to integrate our AJAX controls seamlessly in SharePoint 2007/2010 visiting our common SharePoint portal.
Tags
Window
Asked by
Michael
Top achievements
Rank 1
Answers by
Georgi Tunev
Telerik team
Share this question
or