jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 如何在同一网页上多次使用web usercontrol?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我创建了一个用户控件来从日历中选择日期.我使用 jquery插件来创建它.我的问题是当我将用户控件放在aspx页面上时它无法正常工作.我的意思是说如果我放两次而不是只有一个控制器工作第二个给我一个错误..所以会有什么问题?

我编写的代码代码隐藏文件注册jquery

String jquery = String.Empty;
    jquery = "window.addEvent('domready',function () { new CalendarEightysix('exampleIII',{ 'excludedWeekdays': [0,6],'toggler': 'imgClick','offsetY': -4 });});   ";


    Page.ClientScript.RegisterStartupScript(typeof(PagE),"a key","<script type=\"text/javascript\">" + jquery + "</script>");

用户控制代码.

<script src="JS/mootools-1.2.4-core.js" type="text/javascript"></script>
<script src="JS/mootools-1.2.4.4-more.js" type="text/javascript"></script>
<script src="JS/calendar.js" type="text/javascript"></script>
<link href="CSS/calendar.css" rel="stylesheet" type="text/css" />

<table celLPADding="0">
  <tr>
    <th>
      <asp:Label ID="lblheading" runat="server" Text="Date"></asp:Label>
    </th>
    <td>
      <input id="exampleIII" name="dateIII" readonly="readonly" type="text" maxlength="10"
        style="padding-right: 15px;" />
      <img src="Images/calendar.gif" alt="" id="imgClick" />
    </td>
  </tr>
</table>

对此的任何想法都请帮助我.
提前致谢.

解决方法

您的问题是肯定的,因为您的控件中没有动态控件ID,或者动态javascript初始化.如果更改了多个usercontrol加载的ID,那么当您尝试使用javascript时就会发生冲突.

要制作动态ID,您可以使用同一控件的ClientID属性.

代码中,您需要进行动态更改的点,首先是您选择作为简单html控件的输入,在ID的末尾添加当前UserControl ID,如下所示:

<input id="exampleIII<%=ClientID%>" name="dateIII<%=ClientID%>" readonly="readonly"

并且

<img src="Images/calendar.gif" alt="" id="imgClick<%=ClientID%>" />

然后你将你的javascript更改为:

String jquery = String.Empty;
    jquery = "window.addEvent('domready',function () { new CalendarEightysix('exampleIII"+ ClientID + "','toggler': 'imgClick"+ ClientID + "','offsetY': -4 });});   ";

    Page.ClientScript.RegisterStartupScript(typeof(PagE),"akey"+ClientID,"<script type=\"text/javascript\">" + jquery + "</script>");

并加载您的常见JavaScript库,可能在母版页上,或使用Page.ClientScript.RegisterStartupScript

ps:使用id =“exampleIII<%= ClientID%>”渲染你的控件,因为他自己的ClientID都已经准备好了.因此,您将使用ClientID和exampleIII获得名称的最终名称.

另一种方法是使用asp.net控件按钮,因为使用<%=%>你有updatePanels的问题.如果你使它们成为asp.net控件,那么你将获得在javascript init上使用的ControlName.CliendID

大佬总结

以上是大佬教程为你收集整理的jquery – 如何在同一网页上多次使用web usercontrol?全部内容,希望文章能够帮你解决jquery – 如何在同一网页上多次使用web usercontrol?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。