【问题标题】:Detecting self-postback in a dynamically created UserControl在动态创建的 UserControl 中检测自回发
【发布时间】:2012-02-21 13:44:31
【问题描述】:

我有一个按钮和一个面板。当用户单击按钮时,它会加载一个用户控件并将其添加到panel.Controls。当用户控件第一次加载(Page_Load)时,我需要在用户控件中绑定一个网格,而不是当用户单击用户控件内的按钮时,即触发用户控件中的回发。我不能使用Page.IsPostback,因为当用户单击加载用户控件的主按钮时它返回true。我能做什么?

【问题讨论】:

    标签: asp.net user-controls


    【解决方案1】:

    这是原始的,但您可以通过比较来自以下的值来检查导致回发的任何控件:

    Request.Form.Get("__EVENTTARGET")
    

    这将返回目标控件的唯一ID;检查此项以确定哪个按钮导致回发,并采取相应措施。

    【讨论】:

      【解决方案2】:

      您可以给用户控件内部的按钮一个 CommandName 并检查 CommandName 的值。您还可以检查对象发件人的类型以确定导致回发的控件。

      不要忘记,在动态创建后(如果发生在页面加载之前的事件),您必须在每个帖子上重新添加用户控件,因此您需要实现一种机制来确定面板中添加了用户控件。

      【讨论】:

        猜你喜欢
        • 2015-02-21
        • 2015-11-30
        • 1970-01-01
        • 1970-01-01
        • 2012-01-26
        • 2013-01-04
        • 1970-01-01
        • 2010-10-26
        • 1970-01-01
        相关资源
        最近更新 更多