私は、バインドされたハイパーリンクとテンプレートフィールドを使ってグリッドビューを持っています。NavigateURLに2つの動的項目を適切に含めるにはどうすればよいですか?
Lo-Fi:HyperLink
コントロールとHi-Fi:HyperLink
コントロールの2つのダイナミックアイテムをNavigateURLに正しく組み込む方法を理解しようとしています。私は2番目の2つの列のようにHyperLinkFieldフィールドでこれを行う方法はわかっていますが、それをテンプレート列の中で使うことはできません。
{1}が現在存在するURLの最後にtextプロパティ用に使用している<%# Eval("Locker_LO_Filename")%>
アイテムを連結する必要があります。
<asp:GridView ID="gvLocker" runat="server" HeaderStyle-BackColor="Goldenrod"
HeaderStyle-ForeColor="DarkBlue" AlternatingRowStyle-BackColor="Cornsilk"
Font-Names="Verdana,arial,helvetica" AutoGenerateColumns="False" Font- Size="13px" Width="640px" BorderColor="#404040">
<Columns>
<asp:BoundField DataField="memid" HeaderText="MemID" ReadOnly="True" SortExpression="memid"
Visible="False" HeaderStyle-Font-Size="13px" />
<asp:HyperLinkField DataNavigateUrlFormatString="myLockerEditSong.aspx?ID={0}&li={1}"
DataTextField="EditIt" DataNavigateUrlFields="memid,lockid" HeaderStyle-Font-Size="13px">
<ItemStyle Width="65px" Font-Size="13px" />
</asp:HyperLinkField>
<asp:HyperLinkField DataNavigateUrlFormatString="myLockerDeleteSong.aspx?ID={0}&li={1}"
DataTextField="Delete" DataNavigateUrlFields="memid,lockid" HeaderStyle-Font-Size="13px">
<ItemStyle Width="65px" Font-Size="13px" />
</asp:HyperLinkField>
<asp:TemplateField HeaderText="Song Information" HeaderStyle-Font-Size="13px">
<ItemTemplate>
<strong><asp:Label ID="Label1" runat="server" Text='<%# Eval("Locker_Title") %>'></asp:Label></strong><br />
Lo-Fi:<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("memid", "/uploads/{0}/Locker/LoFi/{1}") %>'
Text='<%# Eval("Locker_LO_Filename") %>' Font-Size="13px"></asp:HyperLink><br />
Hi-Fi:<asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl='<%# Eval("memid", "/uploads/{0}/Locker/HiFi/{1}") %>'
Text='<%# Eval("Locker_HI_Filename") %>' Font-Size="13px"></asp:HyperLink>
</ItemTemplate>
<ItemStyle Width="350px" Font-Size="13px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="File Information" SortExpression="Locker_UploadDate" HeaderStyle-Font-Size="13px">
<ItemTemplate>
<strong>Uploaded:</strong> <asp:Label ID="Label2" runat="server" Text='<%# Eval("Locker_UploadDate") %>'></asp:Label><br />
<strong>Modified:</strong> <asp:Label ID="Label3" runat="server" Text='<%# Eval("Locker_DateLastModified") %>'></asp:Label>
<ItemStyle Font-Size="13px" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<HeaderStyle BackColor="#FFDF59" ForeColor="Maroon" HorizontalAlign="Left" />
<AlternatingRowStyle BackColor="PaleGoldenrod" />
</asp:GridView>
Craig-VB.netのために書き直す必要があることを除いて、関数呼び出しで正しいフィールド名を追加すると、あなたの提案は完全に機能しました。すべてのストレスの中で、私はあなたがテンプレート項目から関数を呼び出すことができないことを忘れていました。助けてくれてありがとう。 –