Hi,
this one is a bit urgent, I need to implement it asap.
In my application I have several update panels and everything is loaded dynamically (parent controls load child controls etc).
I'm having an issue loading a control that has ImageEditor inside, I get:
Object reference not set to an instance of an object. at System.Web.UI.AsyncPostBackTrigger.HasTriggered() at System.Web.UI.UpdatePanelTriggerCollection.HasTriggered() at System.Web.UI.PageRequestManager.ProcessUpdatePanels() at System.Web.UI.PageRequestManager.RenderPageCallback(HtmlTextWriter writer, Control pageControl) at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) at System.Web.UI.Page.Render(HtmlTextWriter writer) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Please create a new VS 2010 Rad controls project (.NET 4.0). Next create 2 user controls: MainContainer and PageImageEditor
MainContainer is:
and cs file:
PageImageEditor is just:
Drop MainContainer user control in Designer to Default.aspx:
start the project, click the button and you will instantly get error:
Error: Sys.WebForms.PageRequestManagerServerErrorException: Object reference not set to an instance of an object.
also give a try and comment out UpdatePanel code (not placeholder and button) in MainContainer, you will not get this error, but dialogs of ImageEditor won't load anything except their title (not sure if this is the only thing that doesn't work, didn't check, cause it didn't make sense to proceed further).
So question is basically how to make this work in scenario described when control in inside UpdatePanel.
Thank you!
P.S.: in current project similar technique is applied to several other Telerik controls, no similar (major) problems faced so far.
this one is a bit urgent, I need to implement it asap.
In my application I have several update panels and everything is loaded dynamically (parent controls load child controls etc).
I'm having an issue loading a control that has ImageEditor inside, I get:
Object reference not set to an instance of an object. at System.Web.UI.AsyncPostBackTrigger.HasTriggered() at System.Web.UI.UpdatePanelTriggerCollection.HasTriggered() at System.Web.UI.PageRequestManager.ProcessUpdatePanels() at System.Web.UI.PageRequestManager.RenderPageCallback(HtmlTextWriter writer, Control pageControl) at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) at System.Web.UI.Page.Render(HtmlTextWriter writer) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Please create a new VS 2010 Rad controls project (.NET 4.0). Next create 2 user controls: MainContainer and PageImageEditor
MainContainer is:
<
asp:UpdatePanel
ID
=
"up"
runat
=
"server"
UpdateMode
=
"Conditional"
>
<
ContentTemplate
>
<
asp:PlaceHolder
ID
=
"ph"
runat
=
"server"
></
asp:PlaceHolder
>
<
asp:Button
ID
=
"btn_TestLoad"
runat
=
"server"
Text
=
"Test load"
onclick
=
"btn_TestLoad_Click"
/>
</
ContentTemplate
>
</
asp:UpdatePanel
>
private
void
LoadOwnControl()
{
Control ctrl = LoadControl(CurrentLoadedControlName);
ph.Controls.Clear();
ph.Controls.Add(ctrl);
}
protected
override
void
OnInit(EventArgs e)
{
base
.OnInit(e);
if
(Session[
"CurrentLoadedControlName"
] !=
null
)
LoadOwnControl();
}
protected
void
Page_Load(
object
sender, EventArgs e)
{
}
private
string
CurrentLoadedControlName
{
get
{
if
(Session[
"CurrentLoadedControlName"
] ==
null
)
Session[
"CurrentLoadedControlName"
] =
"~/DummyControl.ascx"
;
return
Session[
"CurrentLoadedControlName"
]
as
string
;
}
set
{ Session[
"CurrentLoadedControlName"
] = value; }
}
protected
void
btn_TestLoad_Click(
object
sender, EventArgs e)
{
CurrentLoadedControlName =
"~/PageImageEditor.ascx"
;
LoadOwnControl();
}
PageImageEditor is just:
<
telerik:RadImageEditor
ID
=
"RadImageEditor1"
runat
=
"server"
>
</
telerik:RadImageEditor
>
Drop MainContainer user control in Designer to Default.aspx:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Default" %>
<%@ Register src="PageImageEditor.ascx" tagname="PageImageEditor" tagprefix="uc1" %>
<%@ Register src="MainContainer.ascx" tagname="MainContainer" tagprefix="uc2" %>
<!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
>
<%--<
telerik:RadStyleSheetManager
ID
=
"RadStyleSheetManager2"
runat
=
"server"
>
<
StyleSheets
>
<
telerik:StyleSheetReference
Name
=
"Telerik.Web.UI.Skins.ImageEditor.css"
Assembly
=
"Telerik.Web.UI"
/>
<
telerik:StyleSheetReference
Name
=
"Telerik.Web.UI.Skins.Default.ImageEditor.Default.css"
Assembly
=
"Telerik.Web.UI"
/>
<
telerik:StyleSheetReference
Name
=
"Telerik.Web.UI.Skins.ToolBar.css"
Assembly
=
"Telerik.Web.UI"
/>
<
telerik:StyleSheetReference
Name
=
"Telerik.Web.UI.Skins.Default.ToolBar.Default.css"
Assembly
=
"Telerik.Web.UI"
/>
<
telerik:StyleSheetReference
Name
=
"Telerik.Web.UI.Skins.Dock.css"
Assembly
=
"Telerik.Web.UI"
/>
<
telerik:StyleSheetReference
Name
=
"Telerik.Web.UI.Skins.Default.Dock.Default.css"
Assembly
=
"Telerik.Web.UI"
/>
</
StyleSheets
>
</
telerik:RadStyleSheetManager
> --%>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
telerik:RadScriptManager
ID
=
"RadScriptManager1"
runat
=
"server"
>
<
Scripts
>
<%--Needed for JavaScript IntelliSense in VS2010--%>
<%--For VS2008 replace RadScriptManager with ScriptManager--%>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.Core.js"
/>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.jQuery.js"
/>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.jQueryInclude.js"
/>
</
Scripts
>
</
telerik:RadScriptManager
>
<
script
type
=
"text/javascript"
>
//Put your JavaScript code here.
</
script
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
</
telerik:RadAjaxManager
>
<
div
>
<
uc2:MainContainer
ID
=
"MainContainer1"
runat
=
"server"
/>
</
div
>
</
form
>
</
body
>
</
html
>
start the project, click the button and you will instantly get error:
Error: Sys.WebForms.PageRequestManagerServerErrorException: Object reference not set to an instance of an object.
also give a try and comment out UpdatePanel code (not placeholder and button) in MainContainer, you will not get this error, but dialogs of ImageEditor won't load anything except their title (not sure if this is the only thing that doesn't work, didn't check, cause it didn't make sense to proceed further).
So question is basically how to make this work in scenario described when control in inside UpdatePanel.
Thank you!
P.S.: in current project similar technique is applied to several other Telerik controls, no similar (major) problems faced so far.