Add BlogPosts in TABstrip Control
Hi Team,
I want to add two different blogpost in my custom Tabstrip control. Please help how to add.
My custom control ascx is
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="CustomTabStrip.ascx.cs" Inherits="Sitefinity_CustomControls_CustomTabStrip" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<
div
id
=
"tabs"
>
<
telerik:RadTabStrip
ID
=
"RadTabStrip1"
runat
=
"server"
MultiPageID
=
"RadMultiPage1"
SelectedIndex
=
"0"
EnableEmbeddedSkins
=
"false"
Skin
=
"Telerikbase"
>
<
Tabs
>
<
telerik:RadTab
Text
=
"Blog"
runat
=
"server"
PageViewID
=
"RadPageView1"
Selected
=
"True"
>
</
telerik:RadTab
>
<
telerik:RadTab
Text
=
"Resources"
runat
=
"server"
PageViewID
=
"RadPageView2"
>
</
telerik:RadTab
>
</
Tabs
>
</
telerik:RadTabStrip
>
<
telerik:RadMultiPage
ID
=
"RadMultiPage1"
CssClass
=
"multiPageClass"
runat
=
"server"
SelectedIndex
=
"0"
>
<
telerik:RadPageView
ID
=
"RadPageView1"
runat
=
"server"
>
<
div
class
=
"item"
>
<
asp:PlaceHolder
ID
=
"List1"
runat
=
"server"
></
asp:PlaceHolder
>
</
div
>
</
telerik:RadPageView
>
<
telerik:RadPageView
ID
=
"RadPageView2"
runat
=
"server"
>
<
div
class
=
"item"
>
<
asp:PlaceHolder
ID
=
"List2"
runat
=
"server"
></
asp:PlaceHolder
>
</
div
>
</
telerik:RadPageView
>
</
telerik:RadMultiPage
>
</
div
>
protected void Page_Load(object sender, EventArgs e)
if (Page.Master.Controls[3].FindControl("CPHRightContent") != null)
for (int i = Page.Master.Controls[3].FindControl("CPHRightContent").Controls.Count - 1; i >= 0; i--)
if (Page.Master.Controls[3].FindControl("CPHRightContent").Controls[i].GetType() == typeof(BlogPostView))
BlogPostView blogCtrl = (BlogPostView)Page.Master.Controls[3].FindControl("CPHRightContent").Controls[i];
if (i == 2)
List1.Controls.Add(blogCtrl);
else if (i == 3)
List2.Controls.Add(blogCtrl);
Hello Pravat,
Try adding the controls directly to the PageView, like this:
RadPageView1.Controls.Add(blogCtrl);
Thank you for being the most amazing .NET community! Your unfailing support is what helps us charge forward! We'd appreciate your vote for Telerik in this year's DevProConnections Awards. We are competing in mind-blowing 20 categories and every vote counts! VOTE for Telerik NOW >>
hi Svetoslav Petsov ,
Thanks for providing info, but still i am getting same error.
I am droping blogpost control before tabstrip control on home page. Please help.
Thanks & Regards,
Pravat sharma
Hi Pravat,
Sorry for the delay. The issue here is that you are getting one of the controls that Sitefinity is rendering and you try to modify it (e.g. put it in the Tab Strip) which cannot be done. What you can do is create a copy of this control and add the copy to the Tab Strip (this way you are not interfering with the objects created by Sitefinity, but you are creating your own object, which is a copy of the BlogView control and you have full control over it). Here's a sample code that finds the control in the control on the page in a simpliest way, copies it into another object and then adds the new control to the PageView:
var test = Page.Master.FindControl(
"CPHRightContent"
);
foreach
(var item
in
test.Controls)
if
(item.GetType().Name ==
"BlogPostView"
)
BlogPostView blogControl =
new
BlogPostView();
blogControl.CopyBaseAttributes(item
as
BlogPostView);
RadPageView1.Controls.Add(blogControl);
Thank you for being the most amazing .NET community! Your unfailing support is what helps us charge forward! We'd appreciate your vote for Telerik in this year's DevProConnections Awards. We are competing in mind-blowing 20 categories and every vote counts! VOTE for Telerik NOW >>