0

私は1つ以上のリンクボタンを持つASPリピーターコントロールに取り組んでいます.問題は、リンクボタンをクリックしてもアイテムコマンドが起動しないことです!

過去2日間、解決策を探しましたが、何も得られませんでした!

 <asp:Repeater ID="rptTweets" runat="server" 
               onitemcommand="rptTweets_ItemCommand">
     <HeaderTemplate>
         <ul>
     </HeaderTemplate>
     <ItemTemplate>
         <li>
             <div class="imgb">
                 <img src="<%# Eval("userImg") %>" width="35" 
                      height="35" alt="Comment" />
             </div>
             <asp:TextBox ID="txtTweet" runat="server" 
                          TextMode="MultiLine" Rows="5" Columns="5" 
                          EnableViewState="true" Text='<%# Eval("tweet")%>' >
             </asp:TextBox>
             <div class="edit">
                 <asp:LinkButton ID="btnView" runat="server" 
                                 CommandName="View" 
                                 CommandArgument='<%# Eval("tweet")%>' 
                                 CssClass="comment-edit">View</asp:LinkButton>
             </div>
        </li>
    </ItemTemplate>
    <FooterTemplate>
        </ul>
    </FooterTemplate>
</asp:Repeater>

そしてここにバインディングがあります:

if (!IsPostBack)
{
    List<clsTweet> tw = getTweets();            

    rptTweets.DataSource = tw;
    rptTweets.DataBind();
}

そして、この私のアイテムコマンド関数:

protected void rptTweets_ItemCommand(object source, RepeaterCommandEventArgs e)
{
    lblMsg.Text = "Working................................??";
}
4

3 に答える 3

0

削除する必要があります

if (!IsPostBack)
于 2014-01-18T09:32:51.527 に答える
0

これがありません - e.CommandName:

protected void rptTweets_ItemCommand(object source, RepeaterCommandEventArgs e)
{
    if(e.CommandName == "View") // add this
    {
        lblMsg.Text = "Working................................??";
    }
}

またViewState、ページで が無効になっていないかどうかも確認してください。

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" EnableViewState="false" %>

に設定されている場合は、falseに設定するtrueか、デフォルトで設定されているように単に削除しますtrue

于 2013-04-07T09:12:18.863 に答える