リピーターコントロール内に置いたときにupdatepanelに問題があります。エラーが表示され、ユーザーがリンクボタンをクリックしたときに1つのポストのみを更新する必要があります、ここに私のコードがある...リピーターエラー内のC#ASP.NETアップデートパネル
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:Repeater ID="Repeater1" runat="server"
OnItemCommand="MyButtonCommandEvent">
<ItemTemplate>
<asp:UpdatePanel ID="UpdatePanel3" runat="server">
<ContentTemplate>
<div class="post">
<asp:HiddenField ID="postID_hidden" runat="server"
Value='<%# DataBinder.Eval(Container.DataItem,"posts_ID") %>' />
<div class="Thumb">
<img src="thumbs/abdo_thumb.jpg"> </img></div>
<span class="user"><%#DataBinder.Eval(Container.DataItem, "poster_name")%>
</span>
<div class="post-body">
<p>
<%#DataBinder.Eval(Container.DataItem,"description")%>
</p>
</div>
<div class="post-options" style=" height:22px; ">
<span class="first"><%#DataBinder.Eval(Container.DataItem,"post_date")%></span>
<ul style="display:inline; list-style-type: none;">
<li>
<div class="tooltip">
Comments
<img class="tool-img" src="Images/comments.png"> : <%#DataBinder.Eval(Container.DataItem,"comment_num") %>
</img>
</div>
</li>
<li>
<div class="tooltip">
<asp:LinkButton ID="like_linkbtn" runat="server" CommandName="Like"><%#(DataBinder.Eval(Container.DataItem, "name_like").ToString() == "") ? "Like" : DataBinder.Eval(Container.DataItem, "name_like")%></asp:LinkButton>
<img class="tool-img" src="images/likes.png"> : <%#DataBinder.Eval(Container.DataItem,"like_counter") %>
</img></div>
</li>
<li>
<div class="tooltip">
<asp:LinkButton ID="hate_linkbtn" runat="server" CommandName="Hate"><%#(DataBinder.Eval(Container.DataItem, "name_hate").ToString() == "") ? "Hate" : DataBinder.Eval(Container.DataItem, "name_hate")%></asp:LinkButton>
<img class="tool-img" src="images/hate.png"> : <%#DataBinder.Eval(Container.DataItem,"hate_counter") %>
</img></div>
</li>
</ul>
</div>
<div class="finish">
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</ItemTemplate>
</asp:Repeater>
エラーは次のとおりです。コンパイラエラーメッセージ:CS1061:「System.Web.UI.Controlは」「のDataItem」となし拡張メソッド「のDataItem」の定義が含まれていません。 'System.Web.UI.Control'型の最初の引数を受け入れることができました(usingディレクティブまたはアセンブリ参照がありませんか?)。 これは本当に私を助けてください。 PS:updatepanelを削除してリピータの外側に作った場合(リピータ内のupdatepanelの代わりにupdatepanelのリピータが必要です)、
Container.DataItemでは、コンテナはimediateの親コントロールです。更新パネルをその上にラップすると、親はリピータではなく更新パネルになります。私はyyou正しい値を設定するには、Repeater Serverのサイドイベントを使用する必要がありますと思う。 – Akhil
@Akhil Thnxエラーは、DataBinder.Eval(Container.DataItem、 "coloumn_name")をEval( "Coloumn_name")に置き換えることで解決されますが、ユーザーがボタンをクリックしたときにポストバックを強制する方法助けて ? –
更新パネル内のボタンまたはその外側 – Akhil