0

チケット販売アプリケーションを作成していますが、必要な最終値の一部を渡すのに少し問題があります。
購入するチケットのイベント ID が必要ですが、必要なフォームに既にチケット ID を入力しています。必要なイベントを選択すると、前のページからページに既に渡されています。
ページに隠されているラベルからイベント ID を変換し、それをチケット ID と共に最終ページに渡す方法が必要です (チケット ID は渡されるものです)。
これが私が取り組んでいるものです:

<asp:GridView ID="grdvSeats" runat="server" DataKeyNames="SeatID" 
              AutoGenerateColumns="False" allowsorting="false" AllowPaging="false" 
              emptydatatext="No records match the criteria provided." BorderWidth = "1px">
     <Columns>
        <asp:HyperLinkField DataTextField="SeatName" 
                            DataNavigateUrlFields="SeatID" 
                            DataNavigateUrlFormatString="~/CheckOut.aspx?id={0}**&eID=lblEventID.Text**" 
                            HeaderText="Name" SortExpression="SeatName" /> 
     </Columns>
</asp:GridView>
4

1 に答える 1

1

わかりました、完全には従っていませんが、あなたが言っていることは、最初のページからイベント ID を渡し、次にこのページで座席 ID を割り当て、その両方を渡すということだと思います。最終ページへ。私の提案はその前提に基づいていますが、順序が間違っている場合は、適切に調整できます。

DataNavigateUrlFormatStringコードビハインドからの設定が必要になる場合があります。(イベント ID がラベルに設定されていることに言及しているため) コード ビハインドで使用できると想定しています。したがって、 を呼び出す前のどこかでDataBindGridView次のコードを実行します。

// I'm assuming this is the 1st column, as it was in your grid example
HyperLinkField hfield = grdvSeats.Columns[0] as HyperLinkField;           
string urlFormat = "~/CheckOut.aspx?id={0}&eID=" + eventID.ToString();
hfield.DataNavigateUrlFormatString = urlFormat;

したがって、DataNavigateUrlFormatStringEventID が反映され、データバインディングによって GridView に SeatID が割り当てられます。

于 2013-03-17T22:38:56.937 に答える