首页 > 解决方案 > asp.net 客户控制和 javascript

问题描述

我有带有自定义按钮控件的母版页。我在母版页中有一个 javascript 函数。当我尝试在未调用的自定义控件代码中调用此 javascript 函数时。请检查下面的代码。

母版页中的 Javascript 代码

  function loader()
  {
  //Note: ctl00_loader is master page control.
  document.getElementById('ctl00_loader')="X"; 
  }

我的自定义控件是

   <Shri:ConfirmBtn ID="UsrBtn" runat="server">

代码隐藏代码是

  Protected Sub UsrBtn_ConfirmClick(ByVal sender As Object, ByVal e As 
    System.EventArgs) Handles UsrBtn.ConfirmClick
  ClientScript.RegisterStartupScript(GetType(String), "MyCode1", "<Script 
   Language=Javascript>loader();</script>")
 End sub

行后面的代码在页面加载时工作正常。但是当我将自定义控件单击(UsrBtn_ConfirmClick)放置在其未加载的内部时。如何解决这个问题?请有任何想法。

标签: javascriptvb.netcustom-controls

解决方案


使用 jQuery:

在您的 html 页面的标题中:

<script src="https://code.jquery.com/jquery-3.3.1.js" type="text/javascript"></script>

然后捕获按钮单击

$("#<%=UsrBtn.ClientID%>").bind("ConfirmClick", function () {
    // Do whatever you need here ....
});

要调试页面中嵌入的代码,请添加关键字debugger;,如下所示:

$("#<%=UsrBtn.ClientID%>").bind("ConfirmClick", function () {
    // Do whatever you need here ....
    debugger;
});

这将强制 IDE 在该行停止,然后您可以使用 F10 键单步执行代码,就像在后面的代码中一样。


推荐阅读