【问题标题】:Sender object ID in aspx client side event (javascript)aspx 客户端事件中的发件人对象 ID (javascript)
【发布时间】:2013-08-07 14:00:32
【问题描述】:

我需要有关以下代码块中的问题的帮助:

function(s, e) {
    form1.hfRaiseEvent.value = s.ID;
}

触发客户端点击事件时调用此函数。 顺便说一句,s 是 Sender 对象,而 e 是 Event 对象。 遍历我在论坛帖子中找到的 Sender 对象的成员后, 我看到了应该返回发件人 ID 的 .ID 成员。

问题是我从中得到的字符串如下:

"undefined"

没有例外,只有那个字符串。

一些额外的信息:

  1. 我还尝试了 e.target.id ,它应该与 s.ID 做同样的事情。 但是得到了相同的结果。

  2. fhRaiseEvent 是一个隐藏字段,我在其中存储了 引发事件的控件。

  3. 单击时调用此函数的控件是 Devexpress ASPxEditor。

需要一些帮助。

提前致谢。

【问题讨论】:

  • 你能分享创建 ASPxEdit 控件的代码吗?
  • <dx:ASPxImage ID="pEditRefreshSum" runat="server" Height="20px" ImageUrl="~/images/mnuLoanMoves.png" IsPng="True" Width="20px" ImageAlign="Middle"> <ClientSideEvents Click="function(s, e) { form1.hfRaiseEvent.value = s.ID; hbtnRaiseEvent.DoClick(); }" /> </dx:ASPxImage>
  • 看起来您的发件人 (s) 实际上是一个 ASPxImage,而不是 ASPxEdit 对象。
  • 啊,这是一个错字,它是 ASPxEditor :/ 会修复它

标签: javascript asp.net devexpress client-side


【解决方案1】:

从 Devexpress 团队得到答案

我真的可以用

pEditRefreshSum.JSProperties("cpID") = pEditRefreshSum.ID;

将 ID 设置为自定义属性,然后将其打开

js 使用以下行:

form1.hfRaiseEvent.value = s.cpID;

为了得到ID

感谢您的回复。

【讨论】:

    【解决方案2】:

    我认为您没有为 ASPxEdit 的 ID 分配任何内容。默认为空。您必须明确分配一个 ID。 ID 属性继承自 System.Web.Control。见the MSDN documentation

    【讨论】:

    • 我已经分配了一个 ID (pEditRefreshSum)您也可以查看我的问题下的 cmets,在那里粘贴一些标记。
    猜你喜欢
    • 2014-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-08
    • 1970-01-01
    相关资源
    最近更新 更多