将多个值传递到ASP.Net gridview的查询字符串中

时间:2013-03-17 18:50:00

标签: c# asp.net gridview query-string

我正在创建一个票务销售应用程序,我在传递一些我需要的最终值时遇到了一些麻烦 我需要购买的票证中的事件ID,但我已经填写了我需要的票证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>

1 个答案:

答案 0 :(得分: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。