加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何在ListView中使UpdatePanel工作?

发布时间:2020-12-16 07:39:04 所属栏目:asp.Net 来源:网络整理
导读:我有一个列表视图的页面,显示类似帖子的内容.在每个帖子上应该有一个“费率框”,其工作方式类似于Facebook中的“赞”按钮.速率框是用户控件,其中包含更新面板. 如果我在页面中放置了一些随机值的控件它可以很好地工作 – 但是当我把它放在ListView中它应该位
我有一个列表视图的页面,显示类似帖子的内容.在每个帖子上应该有一个“费率框”,其工作方式类似于Facebook中的“赞”按钮.速率框是用户控件,其中包含更新面板.

如果我在页面中放置了一些随机值的控件它可以很好地工作 – 但是当我把它放在ListView中它应该位于的位置时,它将无法工作.正在调用该方法,但没有任何反应.

我简化了一些代码,以便更容易理解:

“价格框”控件:

protected void OnRateClick(object sender,ImageClickEventArgs e)
    {
        Rate++;
        RateAmountLiteral.Text = Rate.ToString();
        RateButton.Visible = false;
        FeedbackLiteral.Visible = true;

        rateButtonPanel.Update();
    }

ASCX:

<div class="rate_div">
    <asp:UpdatePanel ID="rateButtonPanel" runat="server" UpdateMode="Conditional">
        <ContentTemplate>
            <fieldset>
                Rate:
                <asp:Literal ID="RateAmountLiteral" runat="server"></asp:Literal>
                <asp:ImageButton ID="RateButton" runat="server" ImageUrl="icn_rate.png"
                    OnClick="OnRateClick" />
                <asp:Literal ID="FeedbackLiteral" runat="server" Visible="false">Thanks for rating!</asp:Literal>
            </fieldset>
        </ContentTemplate>
    </asp:UpdatePanel>
</div>

aspx(使用控件):

<asp:ListView ID="PostsView" runat="server" ItemPlaceholderID="itemPlaceHolder2"
                        <LayoutTemplate>
                            <div class="posts_div">
                                <asp:PlaceHolder ID="itemPlaceHolder2" runat="server" />
                            </div>
                        </LayoutTemplate>
                        <ItemTemplate>
                            <div class="post_div">
                                <div class="post_body">
                                    <%# CurrentPost.Body %>
                                </div>
                                <UC:RatingBox id="RatingBox" runat="server" 
                                PostID="<%# CurrentPost.ID %>"
                                Rate="<%# CurrentPost.Rate %>"/>
                                By: <a href="<%# CurrentPost.Author.LinkToProfile %>">
                                    <%# CurrentPost.Author.DisplayName %>
                                </a>&nbsp;|&nbsp;
                                <%# CurrentPost.LiteralTime %>
                            </div>
                        </ItemTemplate>
                    </asp:ListView>

在调试时我注意到方法“OnRateClick”中的控件是空的,并且不包含正确的值.请指教.

如果你对我做事的方式有任何评论,也不要抱怨自己.

谢谢

解决方法

你可能没有设置很多东西,我只能从你给出的代码片段中分辨出来.但请确保您执行以下操作: –

1)在页面上放置一个ScriptManager“”.

如果您在应用程序中使用母版页,并且您的网页使用母版页,请将脚本管理器放在母版页中.或者,您也可以将脚本管理器放在特定的网页上.

2)在“更新”面板中为按钮RateButton添加触发器.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读