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)您可以在代码隐藏中使用它。因此,在调用 之前DataBind,请GridView执行以下代码:

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

因此,您DataNavigateUrlFormatString将反映您的 EventID,并且数据绑定将在您的 GridView 中分配 SeatID。

于 2013-03-17T22:38:56.937 回答