Input control disapears in a TabStrip + PageView

Thread is closed for posting
3 posts, 0 answers
  1. Bernd Eidelsburger
    Bernd Eidelsburger avatar
    1 posts
    Member since:
    Aug 2012

    Posted 23 Nov 2010 Link to this post


    on Sharepoint 2010 we create an ASPX Layout Page with multiple PageViews. The PageViews are dynamically added to TabStrip by code-behind. If we put the RadUpload in the PageView it doesn't shows the File-Input Control. After first click on "Upload"-Button the input is visible and can be used. I think the problem is related to the postback of TabStrip-Click ... but how to prevent/to require a full postback to the current PageView ...


    ASPX Page:
    <telerik:radformdecorator id="FormDecorator1" runat="server"  DecoratedControls="all" Skin="Windows7" ControlsToSkip="Fieldset"></telerik:radformdecorator
     <telerik:RadAjaxLoadingPanel runat="server" ID="LoadingPanel1" Transparency="25" BackgroundPosition="Center">
            <div style="vertical-align:middle;text-align:center;width:100%;height:100%;background-color:white;font-weight:bolder;font-size:large">
                <img src="/_layouts/images/IFXForms/loading1.gif" alt="Loading ..." />
             <telerik:RadAjaxManager runat="server" ID="RadAjaxManager1">
                    <telerik:AjaxSetting AjaxControlID="RadTabStrip1">
                            <telerik:AjaxUpdatedControl ControlID="RadTabStrip1" />
                            <telerik:AjaxUpdatedControl ControlID="RadMultiPage1" LoadingPanelID="LoadingPanel1" />
                    <telerik:AjaxSetting AjaxControlID="RadMultiPage1">
                            <telerik:AjaxUpdatedControl ControlID="RadMultiPage1" LoadingPanelID="LoadingPanel1" />
            <script type="text/javascript">
                function onTabSelecting(sender, args) {
                    if (args.get_tab().get_pageViewID()) {
        <td valign="top">
    <asp:UpdatePanel runat="server" ChildrenAsTriggers="true" UpdateMode="Conditional" ID="formUpdatePanel">  
           <div style="padding-top: 10px;">
                <telerik:RadAjaxPanel runat="server" ID="RadAjaxPanel1" LoadingPanelID="LoadingPanel1">
                    <div style="float:left; width:900px">
                        <telerik:RadTabStrip ID="RadTabStrip1" OnClientTabSelecting="onTabSelecting" SelectedIndex="0" runat="server" MultiPageID="RadMultiPage1" OnTabClick="RadTabStrip1_TabClick"
                        <div style="padding: 10px;border-style:solid;border-width:1px">
                        <asp:Literal ID="lMessage" runat="server" visible="false"></asp:Literal>
                       <telerik:RadMultiPage ID="RadMultiPage1" runat="server" SelectedIndex="0" OnPageViewCreated="RadMultiPage1_PageViewCreated" CssClass="multiPage">
                    <div class="previewWrapper">

    ASPX code-behid:
    protectedvoidPage_Load(objectsender, EventArgs e)
            Filename = this.Request.QueryString.Get("data");
            itprData = deserializeData();
            lPageTitle.Text = string.Format("Purchase Request {0} ({1})", itprData.ID, itprData.ActiveStepID.ToString());
            lPageTitleInTitleArea.Text = string.Format("Purchase Request {0}", itprData.ID);
            foreach(KeyValuePair<string, string> pair intabs)
            AddPageView(RadTabStrip1.FindTabByText("Request Info"));
        RadTab tab = newRadTab();
        tab.Text = tabName;
    protectedvoidRadMultiPage1_PageViewCreated(objectsender, RadMultiPageEventArgs e)
        stringuserControlName = e.PageView.ID + ".ascx";
        Control userControl = Page.LoadControl("~/_controltemplates/IFXForms/ITPR/"+ userControlName);
        userControl.ID = e.PageView.ID + "_userControl";
    privatevoidAddPageView(RadTab tab)
        RadPageView pageView = newRadPageView();
        pageView.ID = tabs[tab.Text];
        pageView.CssClass = "pageView";
        tab.PageViewID = pageView.ID;
    protectedvoidRadTabStrip1_TabClick(objectsender, RadTabStripEventArgs e)
        e.Tab.PageView.Selected = true;

    PageView Control ASCX:

    <telerik:RadScriptBlock ID="RadScriptBlock12" runat="server">
     <script type="text/javascript">
         // on upload button click temporarily disables ajax to perform
         // upload actions
         function conditionalPostback(sender, args) {
             if (args.get_eventTarget() == "<%= FileUploadButton.UniqueID %>") {
    <telerik:RadAjaxPanel runat="server" id="RadAjaxPanel12"
     <telerik:RadUpload runat="server" id="RadUpload1" EnableFileInputSkinning="false" />
     <asp:Button id="FileUploadButton" runat="server" text="Upload" OnClick="SubmitButton_Click" />

  2. Yana
    Yana avatar
    4604 posts

    Posted 26 Nov 2010 Link to this post

    Hi Ralf,

    You have too many nested ajax panels and update panels. Please remove all of them, they are not needed as RadAjaxManager already makes the requests asynchronous. Try it and let us know how it goes.

    the Telerik team
    Browse the vast support resources we have to jumpstart your development with RadControls for ASP.NET AJAX. See how to integrate our AJAX controls seamlessly in SharePoint 2007/2010 visiting our common SharePoint portal.
  3. dev Donlad
    dev Donlad avatar
    3 posts
    Member since:
    May 2010

    Posted 31 Aug 2011 Link to this post

     I also came through the similar issue. The input text box is not shown if the file upload is in tab. I have a user control in a tab and this user control is with multiview.
    Below is the trick that worked for me. In this case the text box style is rendering as display:none and just override this by the below property.
    .RadUpload input.ruFakeInput
                displayinline !important;

Back to Top