2016-03-01 3 views
0

Vous trouverez ci-dessous le code de l'assistant.Erreur lors de la liaison de l'assistant

<asp:Wizard ID="Wizard1" runat="server" DisplaySideBar="false" OnNextButtonClick="Wizard1_NextButtonClick" 
    CssClass="" OnFinishButtonClick="Wizard1_FinishButtonClick" FinishCompleteButtonText="Publish" OnLoad="Wizard1_Load" OnInit="Wizard1_Init" 
    OnPreviousButtonClick="Wizard1_PreviousButtonClick" Width="100%" ActiveStepIndex="-1" EnableViewState="false" > <%--OnLoad="Wizard1_Load" OnInit="Wizard1_Init"--%> 
     <WizardSteps> 
     <asp:WizardStep ID="wzsKeyData" runat="server" Title="KeyData"> 
      <div class="bidpost" style="padding-bottom:80px;"> 
       <asp:PlaceHolder ID="phKeyData" runat="server"></asp:PlaceHolder> 
      </div> 
     </asp:WizardStep> 
     <asp:WizardStep ID="wzsTechnical" runat="server" Title="Technical"> 
      <div class="bidpost" style="padding-bottom:80px;"> 
       <asp:PlaceHolder ID="phTechSpecification" runat="server"></asp:PlaceHolder> 
      </div> 
     </asp:WizardStep> 
     <asp:WizardStep ID="wzsCommercial" runat="server" Title="Commercial"> 
      <div class="bidpost" style="padding-bottom:135px;"> 
      <div class="row-fluid" style="text-align:left;font-weight:bold;"> 
        <div class="span2"> 
        <asp:Label ID="lblBidQuote" runat="server" Text="Bid Quote"></asp:Label> 
        </div> 
        <div class="span4"> 
        <asp:TextBox ID="txtBidQuote" runat="server" PlaceHolder="E.g. 45678" CssClass="inputMargin" MaxLength="10" style="width:180px;"></asp:TextBox> 
         <cc1:FilteredTextBoxExtender ID="ftxtBidQuote" runat="server" Enabled="True" TargetControlID="txtBidQuote" 
          ValidChars=""> 
        </cc1:FilteredTextBoxExtender> 

        <asp:RequiredFieldValidator runat="server" ID="rfvtxtBidQuote" ControlToValidate="txtBidQuote" InitialValue="" 
           ValidationGroup="validatebid" ForeColor="Red" Display="Dynamic" ErrorMessage="Please Enter Bid Quote!" /> 
        </div> 
        <div class="span2 inputMargin">                     
        <asp:Label ID="lblDeliveryDate" runat="server" Text="Delivery Date"></asp:Label> 
        </div> 
        <div class="span4"> 
        <asp:TextBox ID="txtDeliveryDate" placeholder="E.g. February 18, 2016" CssClass="textBox spaninner datepickr" runat="server"> </asp:TextBox> 
           <i class=" fa fa-calendar calendar-icon calendar-icondeliverydate" style="top:-7px;"></i> 
        <asp:RequiredFieldValidator runat="server" ID="rfvtxtDeliveryDate" ControlToValidate="txtDeliveryDate" InitialValue="" 
           ValidationGroup="validatebid" ForeColor="Red" Display="Dynamic" ErrorMessage="Please Enter Delivery Date!" /> 
        </div> 
       </div> 

       <asp:PlaceHolder ID="phCommercial" runat="server"></asp:PlaceHolder> 

      </div> 
     </asp:WizardStep> 
     <asp:WizardStep ID="wzsStatutory" runat="server" Title="Statutory"> 
      <div class="bidpost" style="padding-bottom:80px;"> 
       <asp:PlaceHolder ID="phStatutory" runat="server"></asp:PlaceHolder> 
      </div> 
     </asp:WizardStep> 
     <asp:WizardStep ID="wzsOthers" runat="server" Title="Others"> 
      <div class="bidpost" style="padding-bottom:80px;"> 
       <asp:PlaceHolder ID="phOtherTerms" runat="server"></asp:PlaceHolder> 
      </div> 
     </asp:WizardStep> 
    </WizardSteps> 
    <HeaderTemplate> 
     <ul id="wizHeader" class="bidpostwizheader"> 
      <asp:Repeater ID="SideBarList" runat="server"> 
       <ItemTemplate> 
        <li><a class="<%# GetClassForWizardStep(Container.DataItem) %>" title="<%#Eval("Name")%>"> 
         <%# Eval("Name")%></a> </li> 
       </ItemTemplate> 
      </asp:Repeater> 
     </ul> 
    </HeaderTemplate> 
    <StartNavigationTemplate> 
     <div class="wizardbottomdiv"> 
      <asp:Button ID="StartNextButton" runat="server" CssClass="buttonNext" CommandName="MoveNext" 
       Text="Next" /> 
     </div> 
    </StartNavigationTemplate> 
    <StepNavigationTemplate> 
     <div class="wizardbottomdiv"> 
      <asp:Button ID="StepNextButton" runat="server" CssClass="buttonNext" CommandName="MoveNext" 
       Text="Next" /> 
      <asp:Button ID="StepPreviousButton" runat="server" CssClass="buttonPrevious" CommandName="MovePrevious" 
       Text="Previous" /> 
     </div> 
    </StepNavigationTemplate> 
    <FinishNavigationTemplate> 
     <div class="wizardbottomdiv"> 
      <asp:Button ID="StepNextButton" runat="server" CssClass="buttonNext" CommandName="MoveComplete" 
       Text="Save Response" /> 
      <asp:Button ID="StepPreviousButton" runat="server" CssClass="buttonPrevious" CommandName="MovePrevious" 
       Text="Previous" /> 
     </div> 
    </FinishNavigationTemplate> 
</asp:Wizard> 

Dans cette page i affiche la liste des services et des sections affiliées à it.so lorsque l'utilisateur clique sur un service de l'assistant affiche toutes les sections de ce service. Initialement il y avait 5 étapes fixes mais maintenant je dois ajouter des étapes de DB en plus de ces cinq étapes et il ajoute ces étapes.

Maintenant le problème.Supposons si un service a plus de 5 section (6-7) que dans ce cas, ces sections (6ème et 7ème) seront ajoutées à partir du code derrière. Ainsi, lorsque l'utilisateur atteint 6ème ou 7ème section et clique sur le service à nouveau, au lieu de remplir à nouveau l'assistant, rien ne se passe.Sur la console du navigateur, il montre l'erreur que viewindex actif hors de bound.Current view index était 5, ce qui est plus grand que le nombre d'éléments.

J'ai essayé presque tout.Setting activestepindex = 0 dans la page aspx, page_init, Page_preinit, Page_preload, Page_load, Serviceclick événements. ajouter wizardsteps du code derrière-dans ce cas, j'ai gardé la structure de l'assistant (modèle d'en-tête et modèle de navigation) tel quel et supprimé toutes les 5 étapes fixes de la page aspx.then sur le nom du service J'ai également essayé d'appeler cette fonction dans page_init, Page_preinit, page_load car l'erreur suggérait de lier les vues dans page_pre- nit.Avant d'effectuer la liaison, je m'assurais que l'index de l'étape active était 0 ou l'ancien si le nombre d'éléments était supérieur à l'indice.

Je suppose que l'index de viewstate de contrôle est de nouveau chargé avant le rendu. J'ai également essayé de définir EnableViewstate sur false pour cet assistant, mais même cela ne fonctionne pas.

Répondre

0

Nous n'avons pas trouvé les solutions, donc nous avons remplacé l'assistant par des littéraux et des divs car l'assistant ne fonctionnait pas bien