我想在获取报告后在文本字段中保留值。文本框具有默认的当前日期,但可以通过jquery datepicker分配新值。所以当我选择一个日期(例如2015年10月27日)时,它应该在获得报告后保留在文本框中。问题是我搜索记录值重置为当前日期。有人可以帮忙吗?
<input runat="server" id="txtstartDate" type="text" />
<input runat="server" id="txtFinishDate" type="text" />
JQuery的
<script>
$(document).ready(function () {
$(function () {
$("#txtstartDate").datepicker().datepicker("setDate", new Date());
$("#txtFinishDate").datepicker().datepicker("setDate", new Date());
});
});
答案 0 :(得分:0)
这里的问题是ViewState
。它会在回发后检索您的值。在生成报告时,您正在发布这些值,但由于您使用了html
控件,因此无法将其返回。您应该使用Asp.Net
控件来利用ViewState
。你只需要改变
<input runat="server" id="txtstartDate" type="text" />
<input runat="server" id="txtFinishDate" type="text" />
到
<asp:TextBox runat="server" ID="txtstartDate" />
<asp:TextBox runat="server" ID="txtFinishDate" />
和
$(document).ready(function () {
$(function () {
$("#txtstartDate").datepicker().datepicker("setDate", new Date());
$("#txtFinishDate").datepicker().datepicker("setDate", new Date());
});
});
通过
$(document).ready(function () {
$(function () {
if($("[id$='txtstartDate']").val() == "")
$("[id$='txtstartDate']").datepicker().datepicker("setDate", new Date());
if($("[id$='txtFinishDate']").val() == "")
$("[id$='txtFinishDate']").datepicker().datepicker("setDate", new Date());
});
});
答案 1 :(得分:0)
是的,我正在回答我自己的问题。因此,根据我的要求,我必须将当前日期填充为默认值,并且必须从datepicker中选择日期。并且我必须在获得报告后保留价值。所以,首先我改变了
string
到
<input runat="server" id="txtstartDate" type="text" />
<input runat="server" id="txtFinishDate" type="text" />
然后在页面加载时填充这些文本框
<asp:TextBox runat="server" ID="txtstartDate" />
<asp:TextBox runat="server" ID="txtFinishDate" />
在jquery中我只是为这两个文件定义了datepicker。
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack )
{
txtstartDate.Text = DateTime.Today.Date.ToString("dd/MM/yyyy");
txtFinishDate.Text = DateTime.Today.Date.ToString("dd/MM/yyyy");
}
}
这就是我找出解决方案的方法。希望它对其他任何人都有帮助。