输入vs .net文本框:输入清除输入按下,asp:文本框没有

时间:2013-08-20 09:14:42

标签: asp.net

我使用jquery datepicker。我在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>来解决问题,但为什么会这样呢?

and found the topic here

但是为什么它会这样运作呢?

1 个答案:

答案 0 :(得分:1)

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

当您在.net中使用标准HTML <input>时,您负责与之相关的所有内容 - 非常简单,初始值的填充以及稍后通过Request.Form检索。

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

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