【问题标题】:Passing multiple values into query string from ASP.Net gridview将多个值从 ASP.Net gridview 传递到查询字符串
【发布时间】:2013-03-17 18:50:00
【问题描述】:

我正在创建一个售票应用程序,但在传递一些我需要的最终值时遇到了一些麻烦。
我需要正在购买的门票中的活动 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>

【问题讨论】:

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


    【解决方案1】:

    好的,我不完全遵循这一点,但我认为您的意思是,从第一页开始,您传递事件 ID,然后在此页面上分配座位 ID,然后传递他们都到了最后一页。我的建议是基于这个假设,但如果我的顺序有误,你可以适当调整。

    您可能需要在代码隐藏中设置您的 DataNavigateUrlFormatString。我假设(因为您提到在标签中设置的事件 ID)您可以在代码隐藏中使用它。因此,在您在GridView 上调用DataBind 之前,请执行以下代码:

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

    【讨论】:

    • 非常感谢您,这完美地解决了问题。由于我没有使用基于文本的搜索,因此我正在通过下拉列表和从所选值填充的网格视图进行所有搜索。我从前一页的 gridview 传递事件 ID 以获取场地和部分 ID。我只需要传入 from 部分的最终座位 ID 和链接到该座位的事件 ID。
    猜你喜欢
    • 1970-01-01
    • 2017-04-16
    • 2016-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多