6

HyperLinkField内でを使用しており、別のURL + IDgridviewにリンクしたいと考えています。

<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>

gridviewと を使用datasourceしてdatabindいます。それは不平を言っています:

DataNavigateUrlFormatString="/MemberPages/profile.aspx?ID=<%# Eval("PID") %>"

をどこで使用すればよい<%# Eval("PID") %>かわかりません。PID のようなものがあるはずです。再確認しました。

を使用している場合NavigateUrl="/MemberPages/profile.aspx?ID=<%# Eval("PID") %>"、同じエラーが発生します。

Literal content ('<asp:HyperLinkField DataNavigateUrlFields="UName" 
                               DataNavigateUrlFormatString="/MemberPages/profile.aspx?ID=') is not allowed within a 'System.Web.UI.WebControls.DataControlFieldCollection'.
4

3 に答える 3

10

属性値内で " を使用する必要がある場合は、区切り文字として ' を使用します

Attribute='Some value with " symbol'

属性値の中で ' を使用する必要がある場合は、"

Attribute="Some value with ' symbol"

また、列の定義を変更します

<asp:HyperLinkField DataNavigateUrlFields="PID" 
                    DataNavigateUrlFormatString="/MemberPages/profile.aspx?ID={0}"
                    DataTextField="UName" 
                    HeaderText="Besök sida" 
                    SortExpression="Name" 
                    ItemStyle-Width="100px"
                    ItemStyle-Wrap="true" />

DataNavigateUrlFormatString 属性では、DataNavigateUrlFields で指定されたデータ列を使用します (フォーマットは String.Format メソッドに似ています)。

于 2013-01-10T20:35:11.073 に答える
0

最初に行うことは、以下の行を置き換えることです

DataNavigateUrlFormatString="/MemberPages/profile.aspx?ID=<%# Eval("PID") %>"

下の行で

DataNavigateUrlFormatString='/MemberPages/profile.aspx?ID=<%# Eval("PID") %>'

二重引用符を一重引用符に置き換え、先頭と末尾を置き換えたことに注意してください。

于 2013-01-10T20:29:37.987 に答える