我使用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>
来解决问题,但为什么会这样呢?
但是为什么它会这样运作呢?
答案 0 :(得分:1)
这与“标准”HTML控件和.NET服务器控件之间的区别有关。
当您在.net中使用标准HTML <input>
时,您负责与之相关的所有内容 - 非常简单,初始值的填充以及稍后通过Request.Form检索。
服务器控制的优势 - 包括,正如您所注意到的那样,<asp:textbox>
- 带来的是ASP.Net框架现在可以为您处理大部分混乱的部分。因此,您输入的任何文本在代码隐藏中都可以作为对象的属性使用,并且当控件返回到页面时,文本框将使用与之前相同的值重新填充。
我建议阅读一些讨论此问题的背景主题,主要是http://support.microsoft.com/kb/306459处的ASP.Net服务器控件概述。