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 を好みます。
<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>
2つの間違いがあると思います。1 つは、Eval の後に 1 つの + オペランドを忘れていることです。もう 1 つは、eval がオブジェクトを返し、このタイプのインライン コードを配置してもメソッド ToString() が自動的に呼び出されないため、明示的に設定する必要があることです: Eval(" AlbumID").ToString().
お役に立てれば。
<a href='<%# "Photos.aspx?AlbumID="+ Eval("AlbumID").ToString() + "&address=" + Request.QueryString["Id"].ToString() %>'>
値の連結にエラーがあると思います...以下のようにしてみてください...
それはあなたを助けるかもしれません...
<a href='Photos.aspx?AlbumID=<%# Eval("AlbumID") + "&address=" + Request.QueryString["Id"].ToString() %>'>