Передать значение скрытого поля в элементе управления WizardSteps на следующий сайт - PullRequest
0 голосов
/ 22 сентября 2009

У меня возникли проблемы с отправкой значения на следующий сайт при отправке. Я думаю, проблема в том, что скрытое поле находится внутри элемента управления WizardSteps, но я не знаю.

Вот 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>

А вот код, в котором я пытаюсь поймать значение из скрытого поля:

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

Ответы [ 2 ]

1 голос
/ 22 сентября 2009

В прошлом у нас были проблемы с использованием серверных элементов управления HiddenField в шаблонах элементов управления MultiView и Wizard. Похоже, он не имеет значения для постбэков, но, к сожалению, я не знаю причин этого.

Другой вариант, который следует учитывать, если вы хотите сохранить значение с данными страницы, - это вместо этого сохранить значение в скрытом TextBox.

0 голосов
/ 01 октября 2009

Ваш HiddenField должен находиться за пределами мастера, как показано ниже, и вам нужно добавить шаблон FinishNavigationTemplate, который отправляет данные на новую страницу

<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" />

На другой странице вы можете просто запросить данные вот так

lbl_Test.Text = Request["hdf_Amount"];
...