2009-09-22 7 views
0

Im avoir quelques problèmes avec l'envoi d'une valeur au site suivant sur un soumettre. Je pense que le problème est que le champ caché est placé à l'intérieur d'un contrôle WizardSteps, mais je ne sais pas.Passer la valeur de champ caché dans un contrôle WizardSteps au site suivant

Voici le code html:

<asp:WizardStep runat="server" ID="Complete" Title="Trin 4" OnActivate="OnLoad_Step4"> 
     <div class="OrderComfirmation"> 
      <div class="personInformation"> 
       <div class="title">Dine oplysninger <span class="personInformationParanthes">(</span><a href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions('ctl00$Content$Wizard1$SideBarContainer$SideBarList$ctl02$SideBarButton', '', true, '', '', false, true))">ret</a> <span class="personInformationParanthes">) </span></div>     
       <div class="personalInformationLabel"><asp:Label ID="PersonInformationLabel" runat="server" Text="Label"></asp:Label></div> 
      </div> 
      <div class="cartList"> 
       <div class="cartListTitle">Indkøbskurv</div> 
       <div class="cartListContent"> 
        <table> 
         <tr> 
          <td class="cartListTdTitleProduct">Produkt</td> 
          <td class="cartListTdTitleQuantaty">Antal</td> 
          <td class="cartListTdTitlePrice">Stk. Pris</td> 
          <td class="cartListTdTitlePriceTotal">Pris</td> 
          <td class="cartListTdTitleDelete">Slet</td> 
         </tr> 
         <asp:DataList ID="OrderConfirmationList" runat="server" 
          OnItemDataBound="OrderConfirmationList_ItemDataBound"> 
          <ItemTemplate> 
            <tr> 
             <td class="cartListTdContentProduct"><%# Eval("Produkt") %></td> 
             <td class="cartListTdContentQuantaty"> 
              <asp:Label ID="AmountLabel" runat="server" Text="Label"></asp:Label> 
             </td> 
             <td class="cartListTdContentPrice"> 
              <asp:Label ID="ProductPriceLabel" runat="server" Text='<%# Eval("Pris") %>'></asp:Label>,00 DKK 
             </td> 
             <td class="cartListTdContentPriceTotal"> 
              <asp:Label ID="PriceLabel" runat="server" Text="Label"></asp:Label>,00 DKK 
              <asp:Label ID="ProductIDLabel" Visible="false" runat="server" Text='<%# Eval("ProductID") %>'></asp:Label> 
             </td> 
             <td class="cartListTdContentDelete"><a href="test.aspx?productID=<%# Eval("ProductID") %>">Slet</a></td> 
            </tr> 
            <tr> 
             <td class="cartListLine" colspan="5"></td> 
            </tr> 
          </ItemTemplate> 
         </asp:DataList> 
         <tr> 
          <td>          
           <div class="cartListTdContentTotal"> 
            <div>69,00 DKK</div> 
            <div><asp:Label ID="OrderConfirmationTotalPriceLabel" runat="server" Text="Label"></asp:Label>,00 DKK</div> 
            <div><asp:Label ID="OrderConfirmationMomsLabel" runat="server" Text="Label"></asp:Label> DKK</div> 
           </div> 
           <div class="cartListTdContentTotalText"> 
            <div>Fragt</div> 
            <div>Total inkl. moms</div> 
            <div>Heraf moms</div> 
           </div> 
          </td> 
         </tr> 
        </table> 
        <asp:HiddenField ID="amount" Value='99999' runat="server" /> 
       </div> 
      </div> 
     </div> 
     </asp:WizardStep> 

Et voici le code où je tente de prendre la valeur de la HiddenField:

Label1.Text = "Tester: " + Request.Form["amount"]+"<br />"; 

Répondre

1

Nous avons eu des problèmes dans le passé à l'aide HiddenField les contrôles du serveur dans les modèles de contrôle MultiView et Wizard. Cela ne semble pas tenir la valeur à travers les publications, mais malheureusement je ne sais pas les raisons derrière cela.

Une autre option à prendre en compte si vous souhaitez stocker la valeur avec les données de page consiste à conserver la valeur dans un TextBox masqué à la place.

0

Votre HiddenField doit être situé à l'extérieur de l'assistant comme ci-dessous et vous devez ajouter un FinishNavigationTemplate qui affiche les données à votre nouvelle page

<asp:Wizard runat="server" ID="wzd_Amount"> 
    <WizardSteps> 
     <asp:WizardStep ID="step_Amount" runat="server"> 
      This is a wizard step. 
     </asp:WizardStep> 
    </WizardSteps> 
    <FinishNavigationTemplate> 
     <asp:Button runat="server" ID="btn_Finish" PostBackUrl="~/Labs/TestPage.aspx" /> 
    </FinishNavigationTemplate> 
</asp:Wizard> 
<asp:HiddenField runat="server" ID="hdf_Amount" Value="Test" /> 

Sur l'autre page, vous pouvez simplement demander les données comme si

lbl_Test.Text = Request["hdf_Amount"];