我正在尝试从 html 源代码中传递查询字符串,该链接位于 ListView 的 ItemTemplate 中
<a href='<%# "Photos.aspx?AlbumID="+Eval("AlbumID") "&address=" + Request.QueryString["Id"].ToString() %>'>
我试过这段代码,但它没有用。有多个错误。
我认为应该只是Request["Id"]
。
但是,它返回一个类型的对象,object
并且当与+
带有字符串的运算符一起使用时,不需要在ToString()
其上调用该方法。它在连接期间自动调用。
您在 Eval() 之后缺少一个 + ,并且在 a 标签上缺少一个 runat="server" 。另外,对于数据绑定的东西,我更喜欢 asp:HyperLink 而不是普通的 a 标记:
<asp:Listview runat="server" ID="TestLV">
<ItemTemplate>
<asp:HyperLink runat="server" ID="TestHL" NavigateUrl='<%# "Photos.aspx?AlbumID=" + Eval("AlbumID") + "&address=" + Request.QueryString["Id"] %>' ></asp:HyperLink>
</ItemTemplate>
</asp:Listview>
我认为您在连接值时有错误...您可以尝试如下...
也许它会帮助你...
<a href='Photos.aspx?AlbumID=<%# Eval("AlbumID") + "&address=" + Request.QueryString["Id"].ToString() %>'>
我认为有两个错误。一是在Eval后面忘记了一个+操作数,二是eval返回一个对象,放这种类型的内联代码不会自动调用ToString()方法,所以必须显式设置:Eval("专辑 ID").ToString()。
希望这可以帮助。
<a href='<%# "Photos.aspx?AlbumID="+ Eval("AlbumID").ToString() + "&address=" + Request.QueryString["Id"].ToString() %>'>