自定义控件事件未在用户控件内触发

米纳·莫萨利(Mina Morsali)

我实现了一个用于处理回发事件的自定义控件:

namespace CalendarControls
{
    [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name = "FullTrust")]  
    public class CalendarPostback : WebControl, IPostBackEventHandler
    {
        public delegate void CalendarPostBackHandler(object sender, CalendarPostbackEventArgs e);
        public event CalendarPostBackHandler CalendarPostBack;

        public CalendarPostback()
        {

        }

        #region IPostBackEventHandler Members

        public void RaisePostBackEvent(string eventArgument)
        {
            string[] values = eventArgument.Split('|');

            CalendarPostbackEventArgs args = new CalendarPostbackEventArgs();
            args.EventType = (eEventType)Convert.ToInt32(values[0]);

            if (args.EventType == eEventType.Insert)
                args.EventDate = Convert.ToDateTime(values[1]);
            else
                args.EventId = Convert.ToInt32(values[1]);

            if (CalendarPostBack != null)
                CalendarPostBack(this, args);
        }

        #endregion
    }

    public class CalendarPostbackEventArgs : EventArgs
    {
        public CalendarPostbackEventArgs()
        {

        }

        public eEventType EventType
        {
            get;
            set;
        }

        public DateTime EventDate
        {
            get;
            set;
        }

        public int? EventId
        {
            get;
            set;
        }
    }
}

然后在用户控件中使用此自定义控件,并在用户控件内单击以下按钮,将其调用,并使用以下javascript代码:

function CallPostBack(eventArguments) {
    __doPostBack('<%=ctl1.ClientID %>', eventArguments);
}

和我在用户控件中的html代码:

<input type="button" value="Insert" onclick="CallPostBack('1|2014/06/12')" />
                <CalendarControls:CalendarPostback ID="ctl1" runat="server" ClientIDMode="Static" OnCalendarPostBack="ctl1_CalendarPostBack" />

但是,当我单击我的按钮时,会发生页面回发,但不会触发ctl1_CalendarPostBack事件。我还必须说我直接将用户控件添加到aspx页面(不是动态添加),并且aspx页面具有母版页。现在我有两个问题:

  1. 我的代码有什么问题?如何解决这个问题?
  2. 如果我想将自定义控件添加到更新面板中并且想要回发异步信息,该怎么办?

谢谢您最好的问候

米纳·莫萨利(Mina Morsali)

我发现问题了!当我们使用母版页时,客户端ID和控件的唯一ID是不同的,我们必须使用唯一ID而不是客户端ID:

   function CallPostBack(eventArguments) {
    __doPostBack('<%=ctl1.UniqueID %>', eventArguments);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

同时使用Telerik RadGrid的OnRowClick和自定义用户控件事件处理程序

来自分类Dev

自定义控件事件处理程序

来自分类Dev

自定义控件事件不起作用

来自分类Dev

用户控件中的自定义事件

来自分类Dev

鼠标事件未在自定义控件C#WPF上触发

来自分类Dev

WPF KeyBinding 命令未在自定义控件中触发

来自分类Dev

如何在回发时捕获并触发用户控件的自定义事件

来自分类Dev

为什么自定义用户控件上的标签会导致mouseleave事件触发?

来自分类Dev

WPF-配置自定义事件以触发用户控件上的开始故事板

来自分类Dev

如何在回发时捕获并触发用户控件的自定义事件

来自分类Dev

BackgroundWorker不在用户控件内触发

来自分类Dev

按钮单击事件未在用户控件中触发,而是在另一个用户控件中动态创建

来自分类Dev

+ =委托{}是将自定义eventarg附加到UI控件事件的正确方法吗?

来自分类Dev

自定义控件OnPaint不会触发

来自分类Dev

自定义控件和事件处理?

来自分类Dev

用户控件中的自定义方法

来自分类Dev

GridView RowCommand事件未在动态添加的用户控件中触发

来自分类Dev

.NET用户控件事件冒泡

来自分类Dev

如何在自定义控件中创建一个按钮以触发onClick事件,并以自定义控件所在的主要形式对其进行处理?

来自分类Dev

如何在自定义用户控件上创建click事件?

来自分类Dev

自定义控件绑定设置器不触发

来自分类Dev

如何绘制自定义控件,然后传播事件?

来自分类Dev

在自定义控件中处理DataTemplate中的事件

来自分类Dev

WPF中的自定义控件模板的Click事件

来自分类Dev

如何覆盖自定义Firemonkey控件的click事件

来自分类Dev

从哪里退订事件以获取自定义控件

来自分类Dev

创建自定义事件以隐藏不起作用的控件

来自分类Dev

如何创建用于自定义控件的事件

来自分类Dev

WPF自定义控件丢失了其事件订阅

Related 相关文章

  1. 1

    同时使用Telerik RadGrid的OnRowClick和自定义用户控件事件处理程序

  2. 2

    自定义控件事件处理程序

  3. 3

    自定义控件事件不起作用

  4. 4

    用户控件中的自定义事件

  5. 5

    鼠标事件未在自定义控件C#WPF上触发

  6. 6

    WPF KeyBinding 命令未在自定义控件中触发

  7. 7

    如何在回发时捕获并触发用户控件的自定义事件

  8. 8

    为什么自定义用户控件上的标签会导致mouseleave事件触发?

  9. 9

    WPF-配置自定义事件以触发用户控件上的开始故事板

  10. 10

    如何在回发时捕获并触发用户控件的自定义事件

  11. 11

    BackgroundWorker不在用户控件内触发

  12. 12

    按钮单击事件未在用户控件中触发,而是在另一个用户控件中动态创建

  13. 13

    + =委托{}是将自定义eventarg附加到UI控件事件的正确方法吗?

  14. 14

    自定义控件OnPaint不会触发

  15. 15

    自定义控件和事件处理?

  16. 16

    用户控件中的自定义方法

  17. 17

    GridView RowCommand事件未在动态添加的用户控件中触发

  18. 18

    .NET用户控件事件冒泡

  19. 19

    如何在自定义控件中创建一个按钮以触发onClick事件,并以自定义控件所在的主要形式对其进行处理?

  20. 20

    如何在自定义用户控件上创建click事件?

  21. 21

    自定义控件绑定设置器不触发

  22. 22

    如何绘制自定义控件,然后传播事件?

  23. 23

    在自定义控件中处理DataTemplate中的事件

  24. 24

    WPF中的自定义控件模板的Click事件

  25. 25

    如何覆盖自定义Firemonkey控件的click事件

  26. 26

    从哪里退订事件以获取自定义控件

  27. 27

    创建自定义事件以隐藏不起作用的控件

  28. 28

    如何创建用于自定义控件的事件

  29. 29

    WPF自定义控件丢失了其事件订阅

热门标签

归档