AJAX :: TabPanel Content Are Always Visibility:hidden, Display: None On All But First Tab
Oct 19, 2010
I am trying to use the TabContainer/TabPanel controls to create 3 tabs. The tabs themselves will always appear, however, only the first tab will ever display. When I look at the source of the page, I find that the 2nd and 3rd panels have style="visibility:hidden;display:none" on them. The only time this is not true, is if the content inside the tables is text that is on the source, nothing generated.
I have tried it using controls, repeaters, adding all my tabs dynamically, setting the properties of visibility=True and enabled=true. I am kind of pulling my hair out here.
ASPX coding:
<asp:TabContainer ID="aeDetails" runat="server">
<asp:TabPanel ID="placeholder" runat ="server" HeaderText ="PlaceHolder" ><ContentTemplate >Place Holder</ContentTemplate></asp:TabPanel>
</asp:TabContainer>
VB.NET Code:
' Get the content for the home page.
getHomePageContent()
' get the announcements, if any
getAnnouncements()
' get the events, if any
getEvents()
' remove placeholder after adding all three tabs
For i As Integer = 0 To aeDetails.Tabs.Count - 1
If aeDetails.Tabs(i).HeaderText = "PlaceHolder" Then
aeDetails.Tabs.RemoveAt(i)
Exit For
End If
Next
I will only put the code for one tab in here as they are all pretty much the same.
Private Sub getAnnouncements()
Dim nt As TabPanel = New TabPanel()
nt.HeaderText = "Viscardi Announcements"
nt.ID = "tpAnnouncements"
nt.Visible = True
nt.Enabled = True
Dim nl As Label = New Label()
Dim sb As StringBuilder = New StringBuilder()
Dim anRec As HVS_Announcements_Record = New HVS_Announcements_Record
Dim anList As List(Of HVS_Announcements_Record) = getCurrentAnnouncments()
Select Case anList.Count < 1
Case True
nl.Text = "There are currently no announcments for the Henry Viscardi School"
nt.Controls.Add(nl)
aeDetails.Tabs.Add(nt)
Return
End Select
sb.Append("<ul>")
For Each anRec In anList
sb.Append("<li><a onclick='MM_openBrWindow")
sb.Append("('announcementDetails.aspx?id=" & anRec.HVS_AR_Id & "','newWindow','status=yes,scrollbars=yes,resizable=yes,width=600,height=500'")
sb.Append("target='_blank' title='Click to view full contents of the announcements'>")
sb.Append(anRec.HVS_AR_AnnouncementTitle & "</a></li>")
Next
sb.Append("</ul>")
nl.Text = sb.ToString()
nt.Controls.Add(nl)
aeDetails.Tabs.Add(nt)
End Sub
All of the content that is generated by the various routines is in the page source, just hidden.
For a website I was asked to put a bunch of information inside a few different categories. The tabpanel seemed fitting for this, and the person I made it for approved of the simple and elegant sollution.
However, he now has a somewhat tricky request: he wants it so that when people print (javascript::print()), they would be able to see all the information entered in the different tabs. Normally I would solve a thing like this with a different print rules inside my css file. However, in this case, the javascript attached to the tabcontainer/tabpanels puts the visibility:hidden on the elements themselves, meaning whatever I may write inside the css would be ignored either way.
Is there any simple way of making it so that these tabs will be shown when printing? Preferably a sollution that doesn't require me to rewrite most of the tabcontainer/panel code or making my own control from scratch. I would think that this "should" be achievable through javascript, but I thought I'd check here for ideas before rushing into things.
Here is (more) code that demonstrates the issue. If the control in the host page is removed the tab control renders correctly. Otherwise it is rendered with the visibility attrubute set to hidden as reported in the above link. Is this broken or am I doing something wrong?
i have a tabcontainer which have 3 tab panels(tbpanel1,tbpanel2,tbpanel3)and i have dropdownlist in each tabpanel to select date(with autopost back=True).so if i select the date from tab panel2 or tabpanel 3 it is automatically going to tabpanel 1.but it should be in the same tabpanel.
I'm have a project that uses a TabContainer. When I view the TabContainer from my local IIS it displays fine. When I run this from a production environment I'm getting tiny gap & a border line below my TabPanel Header. My browser is IE 8.0
I am using the HTML Editor with a database, which works fine. All the instructions I find show the output on the same page as the Editor - which to me doesn't make much sense... at least not for how I want to use it. I believe I need to use the Literal control, but I can't find a clear example.
If I have Editor1 on page "edit.aspx" which submits the content to database db.mdb, using fields "id" and "fldContent", how can I display the content on another page "view.aspx"?
have a asp.net application where I'm trying to load few documents into memory and print it. I learned that I can't use PrintDialog in a web app and the only way is to print using javascript by writing the content into a (hidden) iFrame.My question is how can Silverlight help me with this? Is it possible to show print dialog and get printer settings and print without a preview by sending the files directly to the printer? How hard it is achieve to using SL?
I want to display message content when i click on subject without refreshing the page, what controls i should use, it should like inbox mail, when i click subject messages will hide and aontent will display like that i want.shoould i hide the grid and display the content????// or using i frames should i call???which controld i should use, like update panel, and iframes.if i use iframe any problem.
I'm developing a web page with tabcontainer. I want to hide one tabpanel on the client side. So I don't want to se "TabContainer1.Tabs(0).Visible = False" as I want it to be a client side event. I tried following code in js
" var objTab = $find('<%=TabContainer1.ClientID%>'); objTab.get_tabs()[0]._hide(); //objTab.get_tabs()[0]._show(); "
However, it doesn't work for the first time loading the page. I guess it only works when an ajax postback happens. Is there any way to hide this when I first load the page, and then if I click on button "show", it will show up without any ajax postback (backend coding)?
I have an Accordion within a Tab container and it works until I set the Accordion AutoSize to Fill or Limit, then my Accordion disappears. I get the same result with IE7, FireFox 2.0.0.8 and Opera 9.24. Is it possible, or at least supposed to be possible to do this?
I have a tabcontainer which has 7 tab panels and on certain conditions i want to make 1 tab either visible false or remove from the TabContainer. Firstly, i had set tab visible false but by doing this my TabContainer1_ActiveTabChanged event fired twice intially when i select the tab panel then it fire and shows my correct ActiveTabIndex number but but at the same moment it fires again with 1 Decrement in ActiveTabIndex number.
I could not understand why it is happening.What thing makes the ActiveTabIndex number decremented by 1. If select Tab 3 then it shows me result of 2 and so on.
Why this event firing twice i set any tab Visible false.
I have two pages with TabControls and the tabcontrols have several tabpanels. On one page there are some popupcontrol extenders on the first tab, and that page works fine. On the second page, the popupcontrolextenders are on the second tab. When that page loads, I get the following jscript error:
Microsoft JScript runtime error: Sys.ArgumentException: Value must not be null for Controls and Behaviors. Parameter name: element
I've tried setting the Enabled property to false for these popupcontrolextenders until that tab becomes visible. This prevents the error on page load, but but then the same error happens as soon as that tab becomes visible.
Is it possible to use a popupcontrolextender on a tabpanel, or should I give up and try something different?
I need to set the focus to a control present in a tabpanel within a tabcontainer . The focus needs to be set based on the input validation of the controls, i.e if any input validation fails then we need to set activetabindex of the container to panel where the control resides and set the the focus to control. Can we set activetabindex for the tabcontainer by finding the control and also setfocus to the control .If any viable solution is there
The Tabpanel is not showing in toolbox. I have installed the toolbox using the posted instructions. I have a TabContainer but no panel. It is notan item that even shows when I try to select my toolbox items.
I am pasting my resume in CKEditor. My resume have some images, Horizontal line, Bullets. When I paste it in CKEditor is not displaying these contents there. Is it any other way to do it? I want to show my resume format as it is as I have on the browser.
The header text in the tab panel is too small and I wanted to make it bigger. So I included a <span> within the <HeaderTemplate> tags and though the text is larger according to the style of the span it doesn't display properly because the height of the tab (not the panel but just the tab part that sticks above the panel) doesn't become any bigger and I don't see where I can modify this.
I have an ajax tabcontainerpanel. What I would like to do is programatically change the text (header template text value) of one of the TabPanels (ID="TabPanel10B") depending on the selected option of a dropdownlist. Is this possible?
TabSecciones.Tabs.Clear(); //the panel container TabPanel nuevoTab = new TabPanel(); encabezadoSeccion encabezadoSec = new encabezadoSeccion(); //A user control, a couple of labels and a table nuevoTab.Controls.Add(encabezadoSec); TabSecciones.Tabs.Add(nuevoTab);
For some strange reason, the user control is "outside" of the panels, thus visible no matter what panel is selected... if I programatically insert another control (ie: a texbox) inside another panel, it works fine...
I had a standard ASP.NET page where I had a some client side Java script make some controls visible/enabled if a checkbox was clicked or not.
[Code]....
Now I would like to move this same WebForm functionality into a AJAX Control Kit TabControlPanel
[Code]....
Here is what I have tried, but it won't compile. I get the following error. Where do I put the script and how do I reference controls in the AJAX TabControlContainer?
Error 10 'ASP.default_aspx' does not contain a definition for 'Email2Checkbox' and no extension method 'Email2Checkbox' accepting a first argument of type 'ASP.default_aspx' could be found (are you missing a using directive or an assembly reference?) C:InetpubwwwRootAjaxTestSiteDefault.aspx 458