Używam HyperLinkField
wewnątrz gridview
i chcę połączyć z innym adresem URL + identyfikatorem.Nawigacja URL za pomocą HyperLinkField wewnątrz widoku siatki
<div id="searchResults" runat="server">
<asp:GridView ID="gvSearchResult" runat="server" AutoGenerateColumns = "false"
CaptionAlign="NotSet" CellPadding="5">
<Columns>
<asp:TemplateField HeaderText="Användare">
<ItemTemplate>
<%# Eval("UName")%>
<br />
</ItemTemplate>
</asp:TemplateField>
<asp:HyperLinkField DataNavigateUrlFields="UName"
DataNavigateUrlFormatString='/MemberPages/profile.aspx?ID=<%# Eval("PID") %>'
DataTextField="UName"
HeaderText="Besök sida"
SortExpression="Name"
ItemStyle-Width="100px"
ItemStyle-Wrap="true" />
</Columns>
</asp:GridView>
</div>
The gridview
korzysta datasource
i databind
. To narzekają:
DataNavigateUrlFormatString="/MemberPages/profile.aspx?ID=<%# Eval("PID") %>"
nie jestem pewien gdzie używać <%# Eval("PID") %>
, jestem pewien, że jest coś takiego jak PID, mam doublechecked.
Jeśli używam NavigateUrl="/MemberPages/profile.aspx?ID=<%# Eval("PID") %>"
ja również uzyskać ten sam błąd:
Literal content ('<asp:HyperLinkField DataNavigateUrlFields="UName"
DataNavigateUrlFormatString="/MemberPages/profile.aspx?ID=') is not allowed within a 'System.Web.UI.WebControls.DataControlFieldCollection'.
tag wiążący dane gav me: Wyrażenia związane z formatowaniem danych są obsługiwane tylko na obiektach, które mają zdarzenie DataBinding. System.Web.UI.WebControls.HyperLinkField nie ma zdarzenia DataBinding. – MrProgram
Dziękuję bardzo! Zrobiłeś mój dzień. Nauczyłem się dzisiaj przez 12 godzin i wreszcie mogę iść do łóżka :) Dzięki! – MrProgram
, ale czy możesz mi powiedzieć, co robi {0}? – MrProgram