2011-07-29 3 views
0

検索結果のリストを表示するために私のページにリピーターがあります。私の問題は、ページが私を投げつづけていることです。データソース関数を持たないリピーターをポストバックから取得するまでは、どうすればよいですか?

パーサーエラーメッセージ:サーバータグが正しく構成されていません。

エラーリピータには、データソース

リピータたので:

<asp:Repeater runat="server" ID="rptSearchResults" > 
    <HeaderTemplate> 
     <h3>Search results</h3> 
    </HeaderTemplate> 
    <ItemTemplate> 
     <table> 
      <tr> 
       <td> 
        <asp:Label runat="server" ID="lblTitle" Text="<%# Eval("title")%>"></asp:Label> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        <asp:Label runat="server" ID="lblAdress" Text="<%# Eval("adress")%>"></asp:Label> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        <asp:Label runat="server" ID="lblZipcode" Text="<%# Eval("zipcode")%>"></asp:Label> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        <asp:Label runat="server" ID="lblCity" Text="<%# Eval("city")%>"></asp:Label> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        <asp:Label runat="server" ID="lblType" Text="<%# Eval("type")%>"></asp:Label> 
       </td> 
      </tr> 
     </table> 
    </ItemTemplate> 
</asp:Repeater> 

このリピータ上記は、ユーザーが主にタイトルの検索語を入力することができ、フォーム、住所、郵便番号、都市とタイプではありません。リピーターは、ユーザーが検索をトリガーするボタンをクリックして、データソースをリピーターに追加するまで、記入する必要はありません。

私はそれが欲しいのように動作させる方法はありますか?

答えて

2

データソースが不足していると問題ではないと思います。うまくいくはずです。エラーは「サーバーのタグが正常に形成されていません」と表示されます。 - これはマークアップに問題があることを意味します。空のデータソースに問題があると、NullReferenceExceptionなどが発生します。これに

Text="<%# Eval("type")%>" 

Text='<%# Eval("type")%>' 

は、私はすべて二重引用符は、ASP.Netを混乱すると思います。このからText属性を変更してみてください - だから、多分問題はあなたのラベル要素です。一重引用符と二重引用符を組み合わせて使用​​します。

+0

あなたは正しいです。私はそれを変更し、今すぐ動作します。ありがとうございました – diceler

0

デフォルトでリピータコントロールを無効にするとどうなりますか?それでも例外はスローされますか?

無効にすると機能しない場合は、必要に応じて動的に追加します。テンプレートを保持することができるように、ユーザーコントロールにそれを取り除くことができるので、アイテムコントロール全体ではなくコードを通じてユーザーコントロールを追加するだけで済みます。

関連する問題