添加runat =" server"时,Datepicker不起作用

时间:2016-09-28 04:17:32

标签: jquery asp.net webforms datepicker runatserver

我指的是此网站http://jqueryui.com/datepicker/的datepicker,我的编码与给定的源代码完全相同。那些编码工作正常。

可是..

当我在这段代码<input type="text" id="datepicker">中添加 runat =&#34;服务器&#34; 时,我的日历在点击{{1}时无法显示}。我需要输入 runat =&#34; server&#34; ,这样我才能在代码后面使用它。

你们的任何建议都会非常感激。谢谢。

4 个答案:

答案 0 :(得分:2)

runat = server 添加主页时,它会生成带有母版页的默认样式ID。所以为了避免它,请尝试 ClientIDMode =“静态”

align-content

没有ClientIDMode ='静态'生成的HTML是

justify-content

有关更多信息,请通过使用firebug检查元素

来使用firebug for mozilla firefox

答案 1 :(得分:1)

我找到了正确的方法。

对于ASP.Net设计

<asp:TextBox runat="server" id="datepicker"></asp:TextBox>

在客户端服务器端

$(document).ready(function () { $("[id$=datepicker]").datepicker(); });

$("[id$=datepicker]").datepicker();代替$('#<%= datepicker.ClientID %>').datepicker();,然后日历将会显示,并且能够在后面的代码中调用 datepicker

答案 2 :(得分:0)

当文本框运行=&#34; server&#34;在视图源中,您可以找到生成动态前缀的文本框的名称。

因此,在您的JavaScript中,您不应该使用标记中指定的id属性,而应使用&lt;%= IdAttributeValue.ClientID%&gt;这将提供生成的ID。

答案 3 :(得分:0)

尝试使用此

<script>
 $(document).ready(function () {
 $("body").delegate("#<%=datepicker.ClientID%>", "focusin", function () {
$(this).datepicker();
 });
 });
  </script>