<
asp:Panel
ID
=
"pnlCancelRequestConfirmation"
runat
=
"server"
style
=
"display: none;"
CssClass
=
"CancelRequestModalPopUp"
>
<
div
style
=
"background-color: White; border: 2 solid black; padding: 10px;"
>
Enter the reason for removing this SRF:<
br
/>
<
asp:TextBox
ID
=
"txtCancelReason"
runat
=
"server"
Width
=
"200px"
></
asp:TextBox
>
<
br
/>
<
asp:RequiredFieldValidator
ID
=
"rfvCancelReason"
runat
=
"server"
ValidationGroup
=
"CancelRequestConfirmationGroup"
ControlToValidate
=
"txtCancelReason"
ErrorMessage
=
"Reason is required"
CssClass
=
"SrfRedText"
Display
=
"Dynamic"
/>
<
br
/>
<
br
/>
<
div
style
=
"text-align: right;"
>
<
telerik:RadButton
ID
=
"btnCancelSrfCancelRequest"
runat
=
"server"
Text
=
"Remove SRF"
OnClick
=
"btnCancelSrfCancelRequest_Click"
CausesValidation
=
"true"
ValidationGroup
=
"CancelRequestConfirmationGroup"
></
telerik:RadButton
>
<
telerik:RadButton
ID
=
"btnCloseSrfCancelRequest"
runat
=
"server"
Text
=
"Cancel"
CausesValidation
=
"false"
></
telerik:RadButton
>
</
div
>
<
br
/>
<
div
style
=
"text-align: right;"
>
<
asp:Button
ID
=
"btnTest"
runat
=
"server"
Text
=
"ASP.Net Button"
/>
</
div
>
</
div
>
</
asp:Panel
>
Hi,
I have a requirement where I need to have a master page and a RAD menu control on the master page. Now I need a new RAD window on click of any menu item from server side irrespective of the fact whether I am clicking same menu item or any other menu item.
I am creating a new RAD window on click event of every menu item click event from server side code and able to successfully create a new RAD window when I am clicking first time on any menu item. But whenever I clicked on any other menu item or same menu item again, my previously opened RAD window get lost and new rad window appears. I think it is a state issue, seems like page is not able to maintain RAD windows on the post back.
I have also tried creating RAD windows from client side java script as well. I am able to create multiple rad windows using java script on click of any of my menu item but all RAD windows created with java script are getting lost on click of browser’s refresh button and F5 button.
Please let me know the best way to create multiple RAD windows from server side and client side as well along with state management. Please help me out to maintain rad windows even after post back of page where these windows exist.
<
telerik:RadAjaxLoadingPanel
runat
=
"server"
ID
=
"RadAjaxLoadingPanel1"
/>
<
telerik:RadAjaxPanel
runat
=
"server"
ID
=
"RadAjaxPanel1"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
>
<
telerik:RadListBox
ID
=
"pasLead_rlb"
runat
=
"server"
Height
=
"150px"
Width
=
"250px"
AllowTransfer
=
"true"
TransferToID
=
"pasLead_rlbDestination"
DataSourceID
=
"paslead_DS"
DataTextField
=
"paslead"
DataValueField
=
"contactID"
>
</
telerik:RadListBox
>
<
telerik:RadListBox
ID
=
"pasLead_rlbDestination"
runat
=
"server"
Height
=
"150px"
Width
=
"250px"
DataKeyField
=
"contactID"
AutoPostBackOnTransfer
=
"true"
AutoPostBack
=
"true"
DataSourceID
=
"pasleadSelected_DS"
DataTextField
=
"paslead"
DataValueField
=
"contactID"
AllowAutomaticUpdates
=
"true"
AutoPostBackOnDelete
=
"true"
AllowDelete
=
"true"
>
</
telerik:RadListBox
>
</
telerik:RadAjaxPanel
>
<
asp:SqlDataSource
ID
=
"pasleadSelected_DS"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:myconnection %>"
SelectCommand="SELECT contacts.id AS contactID, contacts.name + ' (' + groups.short_name + ')' AS paslead
FROM contacts,
groups,
area_contact_map acm
WHERE contacts.groupID = groups.id
and contacts.id = acm.contactID
and areaID = @id
and (acm.blnRemoved IS NULL OR acm.blnRemoved = 0)
ORDER BY paslead"
DeleteCommand="UPDATE area_contact_map SET update_date = getDate(), update_user = @u, blnRemoved = 1 WHERE areaID = @aid AND contactID = @contactID"
InsertCommand="INSERT INTO area_contact_map (areaID, contactID, create_date, create_user, blnRemoved) VALUES (@aid, @contactID, getDate(), @u, 0)">
<
SelectParameters
>
<
asp:Parameter
Name
=
"id"
Type
=
"String"
/>
</
SelectParameters
>
<
DeleteParameters
>
<
asp:Parameter
Name
=
"aid"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"contactID"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"u"
Type
=
"String"
/>
</
DeleteParameters
>
<
InsertParameters
>
<
asp:Parameter
Name
=
"aid"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"contactID"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"u"
Type
=
"String"
/>
</
InsertParameters
>
</
asp:SqlDataSource
>
aid = Request.QueryString(
"i"
)
pasuser = Membership.GetUser.ProviderUserKey.ToString()
areaDS.SelectParameters(
"id"
).DefaultValue = aid
pasleadSelected_DS.SelectParameters(
"id"
).DefaultValue = aid
pasleadSelected_DS.DeleteParameters(
"aid"
).DefaultValue = aid
pasleadSelected_DS.DeleteParameters(
"u"
).DefaultValue = pasuser
pasleadSelected_DS.InsertParameters(
"aid"
).DefaultValue = aid
pasleadSelected_DS.InsertParameters(
"u"
).DefaultValue = pasuser
<%@ Page Title="" Language="C#" MasterPageFile="~/Masters/EPSDev3.master" AutoEventWireup="true" CodeFile="PetitionInfo.aspx.cs" Inherits="PetitionInfo" %>
<
asp:Content
ID
=
"Content1"
ContentPlaceHolderID
=
"head"
Runat
=
"Server"
>
<
style
type
=
"text/css"
>
.VerticalAlign1
{
padding-top: 6px;
}
.rgHeaderDiv
{
width: 100%;
}
</
style
>
</
asp:Content
>
<
asp:Content
ID
=
"Content2"
ContentPlaceHolderID
=
"ContentPlaceHolder1"
Runat
=
"Server"
>
<
telerik:RadScriptManager
ID
=
"RadScriptManager1"
runat
=
"server"
/>
<!-- content start -->
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"SignersGrid"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"SignersGrid"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel1"
runat
=
"server"
/>
<
div
style
=
"width: 800px;"
>
<
div
style
=
"float: left; background-color: White; padding: 0px;"
>
<
table
cellpadding
=
"1"
cellspacing
=
"0"
border
=
"0"
>
<
tr
>
<
td
colspan
=
"5"
align
=
"center"
>
<
h2
>
<
asp:Label
ID
=
"VoterAuthenticationLabel"
runat
=
"server"
Text="<%$ Resources:Resource, PetitionInformationLabel %>"></
asp:Label
>
</
h2
>
</
td
>
</
tr
>
<
tr
>
<
td
width
=
"2%"
>
</
td
>
<
td
width
=
"47%"
valign
=
"top"
>
<
table
>
<
tr
>
<
td
colspan
=
"2"
align
=
"left"
style
=
"font-weight: normal; height: 12px;"
>
<
asp:Label
ID
=
"Label6"
runat
=
"server"
Font-Bold
=
"true"
Text="<%$ Resources:Resource, CandidateInformationLabel%>"></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"left"
>
<
asp:Label
ID
=
"CycleLabel"
runat
=
"server"
Text="<%$ Resources:Resource, CycleLabel %>"></
asp:Label
>
</
td
>
<
td
align
=
"left"
>
<
asp:Label
ID
=
"ElectionCycleList"
runat
=
"server"
Text
=
""
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"left"
>
<
asp:Label
ID
=
"Label1"
runat
=
"server"
Text="<%$ Resources:Resource, RaceLabel %>"></
asp:Label
>
</
td
>
<
td
align
=
"left"
>
<
asp:Label
ID
=
"PoliticalRaceList"
runat
=
"server"
Text
=
""
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"left"
>
<
asp:Label
ID
=
"Label2"
runat
=
"server"
Text="<%$ Resources:Resource, NameLabel %>"></
asp:Label
>
</
td
>
<
td
align
=
"left"
>
<
asp:Label
ID
=
"CandidateName"
runat
=
"server"
Text
=
""
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"left"
>
<
asp:Label
ID
=
"Label3"
runat
=
"server"
Text="<%$ Resources:Resource, AddressLabel %>"></
asp:Label
>
</
td
>
<
td
align
=
"left"
>
<
asp:Label
ID
=
"CandidateAddress"
runat
=
"server"
Text
=
""
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"left"
>
<
asp:Label
ID
=
"Label4"
runat
=
"server"
Text="<%$ Resources:Resource, CityStZipLabel %>"></
asp:Label
>
</
td
>
<
td
align
=
"left"
>
<
asp:Label
ID
=
"CandidateCity"
runat
=
"server"
Text
=
""
></
asp:Label
>
<
asp:Label
ID
=
"CandidateState"
runat
=
"server"
Text
=
""
></
asp:Label
>
<
asp:Label
ID
=
"CandidateZipCode"
runat
=
"server"
Text
=
""
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"left"
>
<
asp:Label
ID
=
"Label5"
runat
=
"server"
Text="<%$ Resources:Resource, CountyLabel %>"></
asp:Label
>
</
td
>
<
td
align
=
"left"
>
<
asp:Label
ID
=
"CandidateCountyList"
runat
=
"server"
Text
=
""
></
asp:Label
>
</
td
>
</
tr
>
</
table
>
</
td
>
<
td
width
=
"2%"
>
</
td
>
<
td
width
=
"47%"
valign
=
"top"
>
<
table
width
=
"100%"
>
<
tr
>
<
td
colspan
=
"2"
align
=
"left"
style
=
"font-weight: normal; height: 12px;"
>
<
asp:Label
ID
=
"Label7"
runat
=
"server"
Font-Bold
=
"true"
Text="<%$ Resources:Resource, ContactInformationLabel%>"></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"left"
>
<
asp:Label
ID
=
"Label8"
runat
=
"server"
Text="<%$ Resources:Resource, NameLabel %>"></
asp:Label
>
</
td
>
<
td
align
=
"left"
>
<
asp:Label
ID
=
"ContactName"
runat
=
"server"
Text
=
""
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"left"
>
<
asp:Label
ID
=
"Label9"
runat
=
"server"
Text="<%$ Resources:Resource, PhoneLabel %>"></
asp:Label
>
</
td
>
<
td
align
=
"left"
>
<
asp:Label
ID
=
"ContactPhone"
runat
=
"server"
Text
=
""
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"left"
>
<
asp:Label
ID
=
"Label10"
runat
=
"server"
Text="<%$ Resources:Resource, EmailLabel %>"></
asp:Label
>
</
td
>
<
td
align
=
"left"
>
<
asp:Label
ID
=
"ContactEmailAddress"
runat
=
"server"
Text
=
""
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"left"
>
<
asp:Label
ID
=
"Label11"
runat
=
"server"
Text="<%$ Resources:Resource, WebSiteLabel %>"></
asp:Label
>
</
td
>
<
td
align
=
"left"
>
<
asp:Label
ID
=
"ContactWebSiteURL"
runat
=
"server"
Text
=
""
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"left"
>
<
asp:Label
ID
=
"Label16"
runat
=
"server"
Text="<%$ Resources:Resource, LinkToLabel %>"></
asp:Label
>
</
td
>
<
td
align
=
"left"
>
<
asp:Label
ID
=
"LinkToURL"
runat
=
"server"
Text
=
""
></
asp:Label
>
</
td
>
</
tr
>
</
table
>
</
td
>
<
td
width
=
"2%"
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"5"
>
</
td
>
</
tr
>
<
tr
>
<
td
>
</
td
>
<
td
align
=
"center"
valign
=
"middle"
colspan
=
"3"
>
<
asp:Label
CssClass
=
"VerticalAlign1"
ID
=
"PetitionsListTitle"
Font-Size
=
"16px"
Width
=
"100%"
BackColor
=
"#565A43"
Height
=
"24px"
ForeColor
=
"#ffffff"
Font-Bold
=
"true"
runat
=
"server"
Text="<%$ Resources:Resource, PetitionSignersLabel %>"></
asp:Label
>
</
td
>
<
td
>
</
td
>
</
tr
>
<
tr
>
<
td
width
=
"2%"
>
</
td
>
<
td
colspan
=
"3"
valign
=
"middle"
>
<
telerik:RadGrid
AutoGenerateColumns
=
"false"
ID
=
"SignersGrid"
runat
=
"server"
Width
=
"99.7%"
AllowSorting
=
"true"
AllowFilteringByColumn
=
"true"
EnableLinqExpressions
=
"false"
AllowPaging
=
"false"
PageSize
=
"15"
BorderWidth
=
"1px"
BorderColor
=
"#999999"
EnableEmbeddedSkins
=
"true"
Skin
=
"Default"
DataSourceID
=
"SQLDataSource1"
ShowFooter
=
"True"
GridLines
=
"None"
>
<
PagerStyle
Mode
=
"NextPrevAndNumeric"
/>
<
GroupingSettings
CaseSensitive
=
"false"
/>
<
MasterTableView
AutoGenerateColumns
=
"false"
EditMode
=
"InPlace"
AllowFilteringByColumn
=
"True"
ShowFooter
=
"True"
TableLayout
=
"Auto"
>
<
Columns
>
<
telerik:GridBoundColumn
FilterControlWidth
=
"50px"
HeaderText
=
"First Name"
UniqueName
=
"FirstName"
DataField
=
"FirstName"
SortExpression
=
"FirstName"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"LastName"
HeaderText
=
"Last Name"
DataField
=
"LastName"
SortExpression
=
"LastName"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"VoterAddress"
HeaderText
=
"Address"
DataField
=
"Address"
SortExpression
=
"Address"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"RemoveSignature"
HeaderText
=
"Remove"
DataField
=
"CountyId"
SortExpression
=
"CountyId"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
<
ClientSettings
>
<
Scrolling
AllowScroll
=
"true"
UseStaticHeaders
=
"true"
/>
</
ClientSettings
>
</
telerik:RadGrid
>
</
td
>
<
td
width
=
"2%"
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"5"
align
=
"center"
>
<
asp:Label
ID
=
"Label17"
runat
=
"server"
Text
=
""
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"5"
align
=
"center"
>
<
asp:Label
ID
=
"SignatureCountMessage"
runat
=
"server"
Text
=
""
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"5"
align
=
"center"
>
<
asp:Label
ID
=
"Label18"
runat
=
"server"
Text
=
""
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"5"
align
=
"center"
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"5"
align
=
"center"
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"5"
align
=
"center"
>
</
td
>
</
tr
>
<
tr
>
<
td
>
</
td
>
<
td
align
=
"center"
valign
=
"middle"
colspan
=
"3"
>
<
asp:Label
CssClass
=
"VerticalAlign1"
ID
=
"Label12"
Font-Size
=
"16px"
Width
=
"100%"
BackColor
=
"#565A43"
Height
=
"24px"
ForeColor
=
"#ffffff"
Font-Bold
=
"true"
runat
=
"server"
Text="<%$ Resources:Resource, SearchPetitionSignersLabel %>"></
asp:Label
>
</
td
>
<
td
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"5"
align
=
"center"
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"5"
align
=
"center"
>
<
asp:Label
ID
=
"Label15"
runat
=
"server"
Text="<%$ Resources:Resource, FirstLastNameLabel %>"></
asp:Label
>
<
asp:TextBox
ID
=
"SearchFirstName"
Width
=
"80px"
runat
=
"server"
TabIndex
=
"1"
></
asp:TextBox
>
<
asp:TextBox
ID
=
"SearchLastName"
Width
=
"80px"
runat
=
"server"
TabIndex
=
"2"
></
asp:TextBox
>
<
asp:Label
ID
=
"Label13"
runat
=
"server"
Text="<%$ Resources:Resource, AddressLabel %>"></
asp:Label
>
<
asp:TextBox
ID
=
"SearchAddress"
runat
=
"server"
TabIndex
=
"3"
></
asp:TextBox
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"5"
align
=
"center"
>
<
asp:RadioButtonList
ID
=
"TypeOfCompare"
runat
=
"server"
CellSpacing
=
"10"
RepeatDirection
=
"Horizontal"
>
<
asp:ListItem
Enabled
=
"True"
Selected
=
"True"
Text
=
"Contains the value anywhere"
Value
=
"1"
/>
<
asp:ListItem
Enabled
=
"True"
Selected
=
"False"
Text
=
"Only check the beginning of the entry"
Value
=
"2"
/>
</
asp:RadioButtonList
>
<
br
/>
<
asp:Label
ID
=
"SearchInstructions"
runat
=
"server"
Text="<%$ Resources:Resource, SearchInstructionsLabel %>"></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"5"
align
=
"center"
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"5"
align
=
"center"
>
</
td
>
</
tr
>
<
tr
>
<
td
>
</
td
>
<
td
align
=
"center"
valign
=
"middle"
colspan
=
"3"
>
<
asp:Label
CssClass
=
"VerticalAlign1"
ID
=
"Label14"
Font-Size
=
"16px"
Width
=
"100%"
BackColor
=
"#565A43"
Height
=
"24px"
ForeColor
=
"#ffffff"
Font-Bold
=
"true"
runat
=
"server"
Text="<%$ Resources:Resource, CloseAndPrintLabel %>"></
asp:Label
>
</
td
>
<
td
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"5"
align
=
"center"
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"5"
align
=
"center"
>
<
asp:Button
ID
=
"ClosePetitionButton"
TabIndex
=
"6"
runat
=
"server"
Text="<%$ Resources:Resource, ClosePetitionBtn %>" />
<
asp:Button
ID
=
"PrintListButton"
TabIndex
=
"7"
runat
=
"server"
Text="<%$ Resources:Resource, PrintListBtn %>" />
<
asp:Button
ID
=
"PrintForFilingButton"
TabIndex
=
"8"
runat
=
"server"
Text="<%$ Resources:Resource, PrintForFilingBtn %>" />
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"5"
align
=
"center"
>
</
td
>
</
tr
>
</
table
>
</
div
>
<
div
class
=
"clear"
>
</
div
>
</
div
>
<
asp:SqlDataSource
ID
=
"SqlDataSource1"
ConnectionString="<%$ ConnectionStrings:ElectronicPetitionSystemConnectionString %>"
ProviderName="System.Data.SqlClient" runat="server">
</
asp:SqlDataSource
>
</
asp:Content
>
[System.Web.Services.WebMethod]
public static string txtNoOfInstallment_OnTextChanged(int noOfInstallments)
{
try
{
Table tab = new Table();
for (int i = 1; i <= noOfInstallments; i++)
{
TableRow tr = new TableRow();
TableCell td1 = new TableCell();
TableCell td2 = new TableCell();
TableCell td3 = new TableCell();
TableCell td4 = new TableCell();
Label lblAmt = new Label();
lblAmt.Text = "Installment" + " " + i;
TextBox txtAmount = new TextBox();
txtAmount.ID = "txtAmount" + i;
Label lblDate = new Label();
lblDate.Text = "Due date";
RadDatePicker dtPickerIstallmentDate = new RadDatePicker();
dtPickerIstallmentDate.ID = "dtPickerIstallmentDate" + i;
td1.Controls.Add(lblAmt);
td2.Controls.Add(txtAmount);
td3.Controls.Add(lblDate);
td4.Controls.Add(dtPickerIstallmentDate);
tr.Cells.Add(td1);
tr.Cells.Add(td2);
tr.Cells.Add(td3);
tr.Cells.Add(td4);
tab.Rows.Add(tr);
}
System.Text.StringBuilder sb = new System.Text.StringBuilder();
System.IO.StringWriter tw = new System.IO.StringWriter(sb);
HtmlTextWriter hw = new HtmlTextWriter(tw);
tab.RenderControl(hw);
return sb.ToString();
}
catch(Exception ex)
{
return ex.Message;
}
}
{System.NullReferenceException: Object reference not set to an instance of an object.
at Telerik.Web.UI.DatePickingInput.RenderBeginTag(HtmlTextWriter writer)
at System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)
at Telerik.Web.UI.RadWebControl.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at Telerik.Web.UI.RadDatePicker.AddControlComponents(HtmlTextWriter writer)
at Telerik.Web.UI.RadDatePicker.RenderChildren(HtmlTextWriter writer)
at System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter writer)
at Telerik.Web.UI.RadWebControl.RenderContents(HtmlTextWriter writer)
at Telerik.Web.UI.RadDatePicker.RenderContents(HtmlTextWriter writer)
at System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)
at Telerik.Web.UI.RadWebControl.Render(HtmlTextWriter writer)
at Telerik.Web.UI.RadDatePicker.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
at System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)
at System.Web.UI.WebControls.TableCell.RenderContents(HtmlTextWriter writer)
at System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
at System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)
at System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter writer)
at System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at System.Web.UI.WebControls.Table.RenderContents(HtmlTextWriter writer)
at System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at pagename.txtNoOfInstallment_OnTextChanged1(Object sender, EventArgs e) in path/pagename.aspx.cs:line "tab.RenderControl(hw);"}
//Master Page Code Behind
using
System;
using
System.Data;
using
System.Configuration;
using
System.Collections;
using
System.Web;
using
System.Web.Security;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using
System.Web.UI.HtmlControls;
public
partial
class
MasterPage : System.Web.UI.MasterPage
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
}
}
//Web Page Code Behind
using
System;
using
System.Data;
using
System.Configuration;
using
System.Collections;
using
System.Web;
using
System.Web.Security;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using
System.Web.UI.HtmlControls;
using
System.Data.SqlClient;
using
Telerik.Web.UI;
public
partial
class
HierarchyRadGrd : System.Web.UI.Page
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(!IsPostBack)
{
}
myHomeContent.Controls.Add(GetBandRadDock(2, 3,
"Plan Details"
));
if
(ScriptManager.GetCurrent(
this
).IsInAsyncPostBack)
{
string
controlPath =
string
.Empty;
string
sourceid =
""
;
try
{
if
(ScriptManager.GetCurrent(
this
).AsyncPostBackSourceElementID.Contains(
"$"
))
sourceid = ScriptManager.GetCurrent(
this
).AsyncPostBackSourceElementID.Split(
'$'
)[2];
else
sourceid = ScriptManager.GetCurrent(
this
).AsyncPostBackSourceElementID.Split(
'_'
)[2];
controlPath =
"UserControlRadGrid.ascx"
;
LoadUserControl(sourceid);
}
catch
(IndexOutOfRangeException ExoutOf)
{
}
}
}
protected
void
LoadUserControl(
string
_BandId)
{
string
SourceString =
""
;
string
updateControl =
""
;
if
(ScriptManager.GetCurrent(
this
).AsyncPostBackSourceElementID.Contains(
"$"
))
SourceString = ScriptManager.GetCurrent(
this
).AsyncPostBackSourceElementID;
else
SourceString = ScriptManager.GetCurrent(
this
).AsyncPostBackSourceElementID;
string
IdVal = SourceString;
string
ajpCtrl =
"UpdatePanel3"
;
string
_sActualPath = SourceString;
AddControl(_sActualPath, ajpCtrl,
"UserControlRadGrid.ascx"
, _BandId);
}
protected
void
AddControl(
string
sourcedock,
string
ajaxp,
string
path,
string
_sBandId)
{
RadDock SourceDock =
this
.FindControl(sourcedock)
as
RadDock;
UpdatePanel SourcePanel = (UpdatePanel)SourceDock.ContentContainer.FindControl(ajaxp);
SourcePanel.ContentTemplateContainer.Controls.Clear();
UserControl mycon = (UserControl)LoadControl(path);
mycon.ID =
"DC"
+ _sBandId;
switch
(_sBandId)
{
case
"3"
:
((UserControlRadGrid)mycon)._ShowBand =
false
;
break
;
}
SourcePanel.ContentTemplateContainer.Controls.Add(mycon);
}
private
RadDock GetBandRadDock(
int
Sequence,
int
_iBandId,
string
_sBandTitle)
{
RadDock _radDock =
new
RadDock();
_radDock.CommandsAutoPostBack =
true
;
_radDock.DockMode = DockMode.Docked;
_radDock.DefaultCommands = Telerik.Web.UI.Dock.DefaultCommands.ExpandCollapse;
_radDock.Command +=
new
DockCommandEventHandler(_radDock_Command);
_radDock.OnClientCommand =
"OnDockExpand"
;
_radDock.ForbiddenZones =
new
string
[] {
"DockZone"
};
_radDock.DockMode = DockMode.Default;
_radDock.Collapsed =
true
;
_radDock.ExpandText =
"Loading..."
;
_radDock.EnableAnimation =
true
;
_radDock.Title = _sBandTitle;
_radDock.Font.Bold =
true
;
_radDock.ID = _iBandId.ToString();
UpdatePanel uPanel =
new
UpdatePanel();
uPanel.ID =
"UpdatePanel"
+ _iBandId.ToString();
uPanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
uPanel.RenderMode = UpdatePanelRenderMode.Inline;
AsyncPostBackTrigger oTrigger =
new
AsyncPostBackTrigger();
oTrigger.ControlID = _radDock.ID;
uPanel.Triggers.Add(oTrigger);
Label oLabel =
new
Label();
oLabel.Text =
"Loading...."
;
oLabel.ID =
"ldng"
;
uPanel.ContentTemplateContainer.Controls.Add(oLabel);
_radDock.ContentContainer.Controls.Add(uPanel);
return
_radDock;
}
void
_radDock_Command(
object
sender, DockCommandEventArgs e)
{
Control _DynamicControl =
new
Control();
RadDock oDock =
new
RadDock();
oDock = sender
as
RadDock;
oDock.AutoPostBack =
false
;
oDock.CommandsAutoPostBack =
false
;
UpdatePanel uPanel =
new
UpdatePanel();
string
uId =
"UpdatePanel"
+ oDock.ID;
uPanel = (UpdatePanel)oDock.ContentContainer.FindControl(uId);
uPanel.ContentTemplateContainer.Controls.Clear();
int
_iBandId = Convert.ToInt32(oDock.ID);
if
(oDock.Collapsed)
{
Label oLabel =
new
Label();
oLabel.Text =
"Loading...."
;
uPanel.Controls.Clear();
uPanel.Controls.Add(oLabel);
}
else
{
switch
(_iBandId)
{
case
3:
_DynamicControl = LoadControl(
"UserControlRadGrid.ascx"
);
_DynamicControl.ID =
"DC3"
;
_DynamicControl.GetType().GetProperty(
"ShowBand"
).SetValue(_DynamicControl,
false
,
null
);
break
;
}
uPanel.ContentTemplateContainer.Controls.Add(_DynamicControl);
}
}
public
void
RaisePostBackEvent(
string
eventArgument) { }
}
//User Control Code Behind
using
System;
using
System.Data;
using
System.Configuration;
using
System.Collections;
using
System.Web;
using
System.Web.Security;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using
System.Web.UI.HtmlControls;
using
System.Data.SqlClient;
using
Telerik.Web.UI;
public
partial
class
UserControlRadGrid : System.Web.UI.UserControl
{
private
SqlConnection _con;
private
SqlDataAdapter _adp;
private
static
DataTable _dt;
public
bool
_ShowBand =
true
;
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(!IsPostBack)
{
RadGrid1.DataSource = BindData();
RadGrid1.DataBind();
}
RadGrid1.DataSource = BindData();
RadGrid1.DataBind();
}
public
DataTable BindData()
{
try
{
_con =
new
SqlConnection(ConfigurationManager.ConnectionStrings[
"ShopConnectionString"
].ConnectionString);
_adp =
new
SqlDataAdapter(
"SELECT * FROM Shop"
, _con);
_dt =
new
DataTable();
_adp.Fill(_dt);
}
catch
(Exception e)
{
Response.Write(e.Message.ToString());
}
return
_dt;
}
protected
void
RadGrid1_DetailTableDataBind(
object
source, GridDetailTableDataBindEventArgs e)
{
GridDataItem dataItem = (GridDataItem)e.DetailTableView.ParentItem;
switch
(e.DetailTableView.Name)
{
case
"Category"
:
{
string
_shopId = dataItem.GetDataKeyValue(
"ShopID"
).ToString();
e.DetailTableView.DataSource = GetNextLevelCategory(_shopId);
break
;
}
case
"Product"
:
{
string
_categoryID = dataItem.GetDataKeyValue(
"CategoryID"
).ToString();
e.DetailTableView.DataSource = GetNextLevelProduct(_categoryID);
break
;
}
}
}
protected
DataTable GetNextLevelCategory(
string
_shopId)
{
try
{
_con =
new
SqlConnection(ConfigurationManager.ConnectionStrings[
"ShopConnectionString"
].ConnectionString);
_adp =
new
SqlDataAdapter(
"SELECT * FROM Category WHERE ShopId="
+ _shopId, _con);
_dt =
new
DataTable();
_adp.Fill(_dt);
}
catch
(Exception e)
{
Response.Write(e.Message.ToString());
}
return
_dt;
}
protected
DataTable GetNextLevelProduct(
string
_categoryID)
{
try
{
_con =
new
SqlConnection(ConfigurationManager.ConnectionStrings[
"ShopConnectionString"
].ConnectionString);
_adp =
new
SqlDataAdapter(
"SELECT * FROM Products WHERE CategoryId="
+ _categoryID, _con);
_dt =
new
DataTable();
_adp.Fill(_dt);
}
catch
(Exception e)
{
Response.Write(e.Message.ToString());
}
return
_dt;
}
}
<!--Master Page-->
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<!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
>Untitled Page</
title
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
asp:ScriptManager
ID
=
"ScriptManager1"
runat
=
"server"
EnablePageMethods
=
"true"
EnableScriptGlobalization
=
"true"
AsyncPostBackTimeout
=
"600"
ScriptMode
=
"Release"
/>
<
div
>
<
asp:contentplaceholder
id
=
"ContentPlaceHolder1"
runat
=
"server"
>
</
asp:contentplaceholder
>
</
div
>
</
form
>
</
body
>
</
html
>
<!--Web Page-->
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="HierarchyRadGrd.aspx.cs" Inherits="HierarchyRadGrd" Title="Untitled Page" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<%@ Register Src="UserControlRadGrid.ascx" TagName="PlanDetailsUCSample" TagPrefix="control" %>
<
asp:Content
ID
=
"Content1"
ContentPlaceHolderID
=
"ContentPlaceHolder1"
Runat
=
"Server"
>
<
script
type
=
"text/javascript"
>
function OnDockExpand(sender,args)
{
if(sender._collapsed == true)
{
args._cancel = true;
}
else
{
if(navigator.appName != "Netscape")
{
if(sender._contentContainer.childNodes[0].childNodes.length > 1)
args.set_cancel(true);
}
else
{
if(sender._contentContainer.children[0].children.length > 1)
args.set_cancel(true);
}
}
}
</
script
>
<
telerik:RadDockLayout
ID
=
"dckLayout"
runat
=
"server"
>
<
telerik:RadDockZone
ID
=
"myHomeContent"
runat
=
"server"
FitDocks
=
"true"
Font-Bold
=
"true"
BorderStyle
=
"None"
Orientation
=
"Vertical"
>
</
telerik:RadDockZone
>
</
telerik:RadDockLayout
>
<
center
>
<
table
cellpadding
=
"0"
cellspacing
=
"0"
width
=
"97%"
>
<
tr
>
<
td
>
<
control:plandetailsucsample
id
=
"PlanDetailsUCSample"
runat
=
"server"
/>
</
td
>
</
tr
>
</
table
>
</
center
>
<
br
/>
<
br
/>
</
asp:Content
>
<!--User Control-->
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="UserControlRadGrid.ascx.cs" Inherits="UserControlRadGrid" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<%--<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadGrid1"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadGrid1"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>--%>
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
Width
=
"60%"
AutoGenerateColumns
=
"false"
OnDetailTableDataBind
=
"RadGrid1_DetailTableDataBind"
RegisterWithScriptManager
=
"true"
>
<
MasterTableView
DataKeyNames
=
"ShopID"
>
<
Columns
>
<
telerik:GridBoundColumn
HeaderText
=
"ShopID"
DataField
=
"ShopID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"ShopName"
DataField
=
"ShopName"
>
</
telerik:GridBoundColumn
>
</
Columns
>
<
DetailTables
>
<
telerik:GridTableView
DataKeyNames
=
"CategoryID"
Name
=
"Category"
>
<
Columns
>
<
telerik:GridBoundColumn
HeaderText
=
"CategoryID"
DataField
=
"CategoryID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"CategoryName"
DataField
=
"CategoryName"
>
</
telerik:GridBoundColumn
>
</
Columns
>
<
DetailTables
>
<
telerik:GridTableView
Name
=
"Product"
>
<
Columns
>
<
telerik:GridBoundColumn
HeaderText
=
"ProductID"
DataField
=
"ProductID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"ProductName"
DataField
=
"ProductName"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
telerik:GridTableView
>
</
DetailTables
>
</
telerik:GridTableView
>
</
DetailTables
>
</
MasterTableView
>
</
telerik:RadGrid
>