繁体   English   中英

页面生命周期问题 (asp.net)

[英]Issue with page life cycle (asp.net)

我在我的页面 aspx.cs 中有这个事件:

   public void deleteBtn_Click(object sender, CommandEventArgs e)
{

    UsefulStaticMethods.DeleteComment(int.Parse(e.CommandName));        
}

我正在尝试从页面中删除评论。 删除成功。 但是,该事件发生后,网站界面不会自行更新。

My Page Load 负责用动态按钮(删除评论)绘制页面上的所有评论。

我知道当删除按钮触发时,页面加载之前触发..这有点问题..因为页面加载重新创建了页面界面,而 deleteBtn_click 删除了评论,我想立即更新界面。 ..“刷新”页面没有被删除的评论..

如果我执行 function 再次绘制整个表格,它将绘制另一个评论列表以及在页面加载事件中绘制的评论列表。 我不能拒绝不在 page_load 绘制评论列表,因为我需要在回发时重新创建所有内容(包括动态创建的按钮)。-不能使用!Ispostback

问题是我怎样才能实现这个/克服这个问题?

通常,如果您使用数据绑定,那么您可以重新绑定有问题的控件。 也许,您应该修改绘制注释列表的 function 以清除现有列表(可能通过从表控件中删除行或从容器面板或占位符中清除控件集合(您可以引入占位符控件仅用于清除目的))。

刷新页面的另一个技巧是通过执行Server.Transfer重新启动页面生命周期到同一页面。 一般来说,我不会推荐这种方法,除非页面代码结构非常复杂并且刷新数据需要很多行代码。

您需要重新绑定控件。 假设您的按钮位于 Grid 中,而不是您需要 Rebind() 网格。 如果不是,还有另一种方法。 将内容放入更新面板并使用删除按钮设置更新面板触发器。 因此,当单击删除按钮时,更新面板会导致更新。

使用数据列表或转发器服务器控件显示评论,删除后重新绑定服务器控件。 在 Page_Load 上使用.Ispostback。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM