0

我使用 jquery 日期选择器。我在 updatePanel 中有以下输入:

  <input id="DateMask" type="text" />

和js代码:

  $(".datepicker").datepicker({
                    changeMonth: true,
                    changeYear: true
                });

  $(document).ready(function () {
     SetD();
  });

使用 jQuery:

  <script src="/scripts/jquery-1.9.1.js" type="text/javascript"></script>
  <script src="/scripts/jquery-ui.js" type="text/javascript"></script>

当我在我的页面上按 Enter 时,它会清除我的输入,并且我不会向服务器发布任何内容。我已经设法通过写作<asp:textbox>而不是解决了这个问题<input>,但为什么会这样呢?

并在这里找到了主题

但又一次,为什么它会这样工作?

4

1 回答 1

1

这与“标准”HTML 控件和 .NET 服务器控件之间的区别有关。

当您在 .net 中使用标准 HTML<input>时,您负责与它相关的所有事情 - 很简单,初始值的填充和稍后通过 Request.Form 检索。

服务器控制(包括您已经注意到的)<asp:textbox>带来的优势是 ASP.Net 框架现在为您处理了大部分杂乱无章的部分。因此,您输入的任何文本都可以在代码隐藏中作为对象的属性使用,并且当控件返回到页面时,文本框将重新填充它之前具有的相同值。

我建议阅读一些讨论此问题的背景主题,主要是http://support.microsoft.com/kb/306459上的 ASP.Net 服务器控件概述。

于 2013-08-20T09:24:31.507 回答