Wednesday, March 21, 2012

TabContainer inside Master page

Hi everyone

In my Webapplicaton i have Master Page .

One of my webpage i have placed the Tabcontainer inside the

Design Code:

<%@dotnet.itags.org.PageLanguage="C#"MasterPageFile="~/MstrPages/Default.master"AutoEventWireup="true"CodeFile="VQuote.aspx.cs"Inherits="VQuote"Title="Untitled Page" %>

<%@dotnet.itags.org.RegisterAssembly="AjaxControlToolkit"Namespace="AjaxControlToolkit"TagPrefix="cc1" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true"
runat="server">
</asp:ScriptManager>

<div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<contenttemplate>
<cc1:TabContainer ID="SampleTabContainer" runat="server" ActiveTabIndex="0" TabIndex="0">
<cc1:TabPanel ID="Panel1" runat="server" HeaderText="Panel1">
<ContentTemplate>
</ContentTemplate>
</cc1:TabPanel>
<cc1:TabPanel ID="Panel2" runat="server" HeaderText="Panel2">
<ContentTemplate>
<table>
<tr>
<td>
<asp:Label ID="Label1" runat="server">Group Name</asp:Label>
</td>
<tr>
<asp:Label ID="lblGrouName" runat="server"></asp:Label>
</tr>
</table>
</ContentTemplate>
</cc1:TabPanel>
</cc1:TabContainer>
</contenttemplate>
</asp:UpdatePanel>
</div>
</asp:Content>

when i load the page i am getting the below error:

System.Web.HttpException : {"The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>)."}

Message : "The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>)."

stacktrace : " at System.Web.UI.ControlCollection.Add(Control child)\r\n at AjaxControlToolkit.ScriptObjectBuilder.RegisterCssReferences(Control control)\r\n at AjaxControlToolkit.ScriptControlBase.OnPreRender(EventArgs e)\r\n at System.Web.UI.Control.PreRenderRecursiveInternal()\r\n at System.Web.UI.Control.PreRenderRecursiveInternal()\r\n at System.Web.UI.Control.PreRenderRecursiveInternal()\r\n at System.Web.UI.Control.PreRenderRecursiveInternal()\r\n at System.Web.UI.Control.PreRenderRecursiveInternal()\r\n at System.Web.UI.Control.PreRenderRecursiveInternal()\r\n at System.Web.UI.Control.PreRenderRecursiveInternal()\r\n at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)"

when i debug i am getting error at this object:

ScriptObjectBuilder.cs

public static void RegisterCssReferences(Control control)
{
foreach (string styleSheet in ScriptObjectBuilder.GetCssReferences(control))
{
// Add the link to the page header instead of inside the body which is not xhtml compliant
HtmlLink link = new HtmlLink();
link.Href = styleSheet;
link.Attributes.Add("type", "text/css");
link.Attributes.Add("rel", "stylesheet");
control.Page.Header.Controls.Add(link); --Here I am getting the error


}
}

Please any can help to solve this issue

regards

kumaran

Hi Kumaran,

The sample you provided itself is correct.

As the error message indicates, please don't use code block in your page, use assignment in code behind instead.


No comments:

Post a Comment