0

データベースからデータをフェッチする Repeater を含むページ (default.aspx) があります。これは Repeater のレイアウトです。

default.aspx:

<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("Id","~/fullpost.aspx?Id={0}") %>'><asp:Literal ID="LitTitle" runat="server" Text='<%# Eval("Title") %>'></asp:Literal></asp:HyperLink>
                            <br />
                            <span class="textSum">
                                <asp:Literal ID="LitSummary" runat="server" Text='<%# Eval("Summary") %>'></asp:Literal></span>
                            <span class="dateTime">
                                <asp:Literal ID="Literal1" runat="server" Text='<%# Eval("CreateDateTime") %>'></asp:Literal></span>

ハイパーリンクがfullpost.aspxに誘導されていることに注意してください。このページでは、クリックした 1 つの項目のみを表示したいので (URL は右に示され、 fullpost.aspx?Id= IdNumberに移動します)、次のことを試しました。 :

fullpost.aspx:

<asp:Literal ID="Literal1" runat="server" Text='<%# Eval("Title") %>'></asp:Literal>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:orangefreshConnectionString1 %>" 
            SelectCommand="SELECT [Id], [Title], [Summary], [Body], [CreateDateTime] FROM [Post] WHERE ([Id] = @Id)">
            <SelectParameters>
                <asp:QueryStringParameter Name="Id" QueryStringField="Id" Type="Int32" />
            </SelectParameters>
        </asp:SqlDataSource>

しかし、私のリテラルはタイトルを希望どおりに表示していません。何も表示されません。ここで私は正確に何を間違っていますか?


データ バインド コントロールを追加した後:

 <asp:FormView ID="FormView1" runat="server" DataSourceID="SqlDataSource1">
        <asp:Literal runat="server" Text='<%# Eval("Title") %>'></asp:Literal>
    </asp:FormView>

パーサー エラー メッセージ: タイプ 'System.Web.UI.WebControls.FormView' には 'Literal' という名前のパブリック プロパティがありません

4

1 に答える 1

1

Literal1fullpost.aspxは、からデータを取得するためのデータバインドコントロールSqlDataSource内にありません。FormViewデータソースをに設定したaのようなものの中に入れSqlDataSource1ます。

例FormViewの編集

FormViewには、表示するコントロールを含むというタグ<ItemTemplate>が含まれています。注:Visual Web DeveloperなどのIDEを使用している場合は、正しいタグ構造が自動的に作成されます。

<asp:FormView ID="FormView1" runat="server" DataSourceID="SqlDataSource1">
    <ItemTemplate>
        <asp:Literal runat="server" Text='<%# Eval("Title") %>' />
    </ItemTemplate>
</asp:FormView>
于 2012-08-11T19:08:49.423 に答える