I don't know if this is related to other reports on full postbacks. I have an app that works fine in IE and Firefox. I'm getting partial postbacks as expected, and no page flicker. I see that when I launch a RadWindow as a modal dialog, then close it, from that point forward the main page flickers on every request. That only happens with FireFox, not IE.
Any ideas?
Thanks!
Any ideas?
Thanks!
3 Answers, 1 is accepted
0
Hi Tony,
I am not quite sure what exactly is your setup. Could you please provide me with more information about the following parts of your project :
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
I am not quite sure what exactly is your setup. Could you please provide me with more information about the following parts of your project :
- how do you trigger the AJAX postback.
- I need your RadWindow control setup
- I need you full RadAjaxManager control setup with all controls that it is configured to update
For your convenience I suggest you to open a new support ticket and send me a full working project, demonstrating the issue you are facing. Thus I could be able to help you further in resolving it.
Greetings,
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
0
TonyG
Top achievements
Rank 1
answered on 05 Apr 2010, 05:02 PM
I don't mind filing a support ticket but, as with most of these issues, we're working with large and complex projects for clients and sending Telerik our projects is extremely difficult for many reasons. Let's try to work this out here.
I have a main.aspx page with some user controls.
One of the controls has a RadGrid. In the grid I launch a RadWindow as follows:
The user clicks a cell and from the ItemCommand event the following is executed:
That executes this script which is within a RadCodeBlock:
And here is the window definition:
That aspx page has nothing but another user control, plus a RadAjaxManager, RadSkinManager, RadStyleSheetManager, and RadScriptManager.
When the RadWindow opens the user can press a simple Cancel button. The code-behind for this executes:
And here's the script in the UC (not in a RadCodeBlock):
The window closes and the script in the parent UC executes:
As you can see, if the UC in the window wants to force a refresh, we just click a button in the parent UC.
You asked for the RadAjaxManager - here is the proxy from the parent UC:
The UC displayed in the window has this proxy:
The Cancel button that triggers the window close is not ajaxified through the proxy, perhaps it should be:
I think that's the end-to-end set of code for this functionality and you/we can probably use that to create a test case. I'll provide more as required. If you can provide a couple lines of code, I'll be happy to insert checks in different places to find the value of some setting that determines whether or not we're using Ajax.
Thanks!
I have a main.aspx page with some user controls.
One of the controls has a RadGrid. In the grid I launch a RadWindow as follows:
The user clicks a cell and from the ItemCommand event the following is executed:
RadAjaxManager.GetCurrent(this.Page).ResponseScripts.Add("OpenEditWindow();"); |
function OpenEditWindow() { |
var oWnd = $find("<%= win1.ClientID %>"); |
oWnd.show(); |
} |
<telerik:RadWindowManager ID="RadWindowManager1" runat="server" Visible="true"> |
<Windows> |
<telerik:RadWindow Modal="true" Width="800px" Height="510px" |
Behaviors="Move, Close" VisibleStatusbar="false" ReloadOnShow="true" |
ID="win1" runat="server" NavigateUrl="ScheduleEdit.aspx" |
OnClientClose="OnClientClose" /> |
</Windows> |
</telerik:RadWindowManager> |
That aspx page has nothing but another user control, plus a RadAjaxManager, RadSkinManager, RadStyleSheetManager, and RadScriptManager.
When the RadWindow opens the user can press a simple Cancel button. The code-behind for this executes:
RadAjaxManager.GetCurrent(this.Page).ResponseScripts.Add("CloseWindow(1);"); |
function GetRadWindow() { |
var oWindow = null; |
if (window.radWindow) { |
oWindow = window.radWindow; |
} |
else { |
if (window.frameElement.radWindow) { |
oWindow = window.frameElement.radWindow; |
} |
} |
return oWindow; |
} |
function CloseWindow(doRefresh) { |
var oArg = new Object(); |
oArg.Refresh = doRefresh; // tell parent (1/0) refresh data |
//get a reference to the current RadWindow |
var oWnd = GetRadWindow(); |
oWnd.close(oArg); |
} |
The window closes and the script in the parent UC executes:
function OnClientClose(oWnd, args) { |
//get the transferred arguments |
var arg = args.get_argument(); |
if (arg) { |
var doRefresh = arg.Refresh; |
if (doRefresh == 1) { |
var btn; |
try { |
btn = $get("<%= btnRefresh.ClientID %>"); |
} catch (ex) { |
alert( |
"Error finding refresh button:\n" |
+ ex.name.toString() + "\n" |
+ ex.message); |
} |
if (btn) { |
btn.onclick(); |
} |
} |
} |
} |
As you can see, if the UC in the window wants to force a refresh, we just click a button in the parent UC.
You asked for the RadAjaxManager - here is the proxy from the parent UC:
<telerik:RadAjaxManagerProxy ID="RAMPUCScheduleDisplay" runat="server"> |
<AjaxSettings> |
<telerik:AjaxSetting AjaxControlID="gridScheduling"> |
<UpdatedControls> |
<telerik:AjaxUpdatedControl ControlID="gridScheduling" LoadingPanelID="GridProgress" /> |
</UpdatedControls> |
</telerik:AjaxSetting> |
<telerik:AjaxSetting AjaxControlID="btnRefresh"> |
<UpdatedControls> |
<telerik:AjaxUpdatedControl ControlID="gridScheduling" LoadingPanelID="GridProgress" /> |
</UpdatedControls> |
</telerik:AjaxSetting> |
</AjaxSettings> |
</telerik:RadAjaxManagerProxy> |
The UC displayed in the window has this proxy:
<telerik:RadAjaxManagerProxy ID="RAMPUCScheduleEdit" runat="server"> |
<AjaxSettings> |
<telerik:AjaxSetting AjaxControlID="RadTabStrip1"> |
<UpdatedControls> |
<telerik:AjaxUpdatedControl ControlID="RadTabStrip1" /> |
<telerik:AjaxUpdatedControl ControlID="RadMultiPage1" LoadingPanelID="Progress1" /> |
</UpdatedControls> |
</telerik:AjaxSetting> |
<telerik:AjaxSetting AjaxControlID="RadMultiPage1"> |
<UpdatedControls> |
<telerik:AjaxUpdatedControl ControlID="RadMultiPage1" LoadingPanelID="Progress" /> |
</UpdatedControls> |
</telerik:AjaxSetting> |
</AjaxSettings> |
</telerik:RadAjaxManagerProxy> |
The Cancel button that triggers the window close is not ajaxified through the proxy, perhaps it should be:
<asp:Button ID="btnCancel" runat="server" Text="Cancel" OnClick="btnCancel_Click" |
Enabled="true" Width="60px" UseSubmitBehavior="False" /> |
I think that's the end-to-end set of code for this functionality and you/we can probably use that to create a test case. I'll provide more as required. If you can provide a couple lines of code, I'll be happy to insert checks in different places to find the value of some setting that determines whether or not we're using Ajax.
Thanks!
0
Hello Tony,
I reviewed the logic in the code provided, and it looks correct.
However, in order to properly assist you, I would suggest that you open a formal support ticket and send us a small working project, which demonstrates the problem you are facing under Firefox. We will review it locally, and advise you further.
All the best,
Pavlina
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
I reviewed the logic in the code provided, and it looks correct.
However, in order to properly assist you, I would suggest that you open a formal support ticket and send us a small working project, which demonstrates the problem you are facing under Firefox. We will review it locally, and advise you further.
All the best,
Pavlina
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.