如何将列表视图的值从 aspx 页面传递到另一个页面?

How can I pass values of a listview from aspx page to another ?

我正在处理 class 项目,我在一个 .aspx 页面中创建了一个列表视图。我可以通过这个列表视图显示数据库,但我不能将所选项目的值从这个 .aspx 页面转移到另一个页面。

我的设计代码如下:

<asp:ListView ID="lvPresent" runat="server" DataSourceID="SqlDataSource1" OnItemDataBound="lvPresent_ItemDataBound" >
        <LayoutTemplate>
            <table>
                <tr>
                    <td></td>
                </tr>
            </table>
            <asp:PlaceHolder ID="itemPlaceHolder" runat="server"></asp:PlaceHolder>
        </LayoutTemplate>
        <ItemTemplate>
            <td>
                <asp:HyperLink ID="HyperLink1" runat="server">

                    <asp:Image ID="ImageButton1" runat="server" ImageUrl='<%#Eval("url")%>' Height="200px" Width="250px" />

                </asp:HyperLink>
            </td>
        </ItemTemplate>

    </asp:ListView>

我应该怎么做才能完成这项工作?

查看 server.transfer 或 response.redirect 以在页面之间传递数据..

A link 关于 2 和他们所做的区别的 SO:

Server.Transfer Vs. Response.Redirect

  1. 您可以重定向到其他页面并在查询字符串中发送值

  2. 您可以在会话对象中发送值

要将 URL 发送到另一个页面,您可以使用 QueryString。 修改您的 HyperLink 并添加 NavigateUrl

NavigateUrl='<%#"yourNextPageName.aspx?imgURL="+ Eval("url")%>'

只需替换您的代码:-

<asp:HyperLink ID="HyperLink1" runat="server">

  <asp:Image ID="ImageButton1" runat="server" ImageUrl='<%#Eval("url")%>' Height="200px" Width="250px" />

</asp:HyperLink>

<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%#"yourNextPageName.aspx?imgURL="+ Eval("url")%>'>

  <asp:Image ID="ImageButton1" runat="server" ImageUrl='<%#Eval("url")%>' Height="200px" Width="250px" />

</asp:HyperLink>

在该页面上,您可以像这样访问图像 url:-

string imgurl = Request.QueryString["imgURL"];

在该页面中放置一个图像控件,在页面加载时分配该图像, 如果您的图像控件 ID 是 Image1,那么您可以像这样在该页面的页面加载时分配:-

Image1.ImageUrl = imgurl