我不得不用另一个(日历/日期选择器)替换我的 asp:Calendar 控件,它也允许选择年份。经过一番搜索,我找到了Tigra 日历;这似乎很理想,因为我只需要一个 CSS 链接、JS 源脚本和一个添加到我的 aspx 页面的输入字段。它还具有提供客户端操作的优势,因此它不会像日历控件那样在每次点击时进行自动回发;我只需添加一个“日期”选择按钮即可将页面发送到服务器。
日历在我的页面上似乎工作正常,我可以将该值用作 GridView 的 SqlDataSource 查询参数作为 FormParameter。我遇到的问题是,我还有一个图表,似乎需要在 Page_Load 上“选择”一个日期,并且我还希望在单击选择按钮后所选日期在输入字段中保持可见。
使用 Calendar 控件,我可以在后面的代码中使用以下 TextBox1 和 Calendar1 语句:
namespace Mvc
{
public partial class LoadSumByDate : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
TextBox1.Text = DateTime.Now.ToShortDateString();
Calendar1.SelectedDate = DateTime.Now;
}
}
但是,输入(标签?)显然与控件的工作方式不同。我已经尝试对我的 SelDate 输入进行与上述类似的操作,在输入语句本身中使用“值”等,但没有任何成功。Tigra唯一的文档似乎是针对 Tigra Calendar Pro 的。这基本上说它可以完成,而不是如何去做;(我不知道它是否仅在 Pro 版本中)。此外,我搜索的日子没有返回任何有用/有用的东西。
这是我的 ASPX 页面代码,其中包含 CSS 链接、JS 脚本源、输入和按钮控件:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="StyleSheet.css" rel="stylesheet" type="text/css"/>
<!-- link calendar resources -->
<link rel="stylesheet" type="text/css" href="tcal.css" />
<script type="text/javascript" src="tcal.js"></script>
</head>
<body>
<form action="#" id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
Date
<input id="SelDate" name="SelDate" class="tcal" type="text" />
<asp:Button id="SelButton" runat="server" Text="Select" OnClick="Timer2_Tick" />
如果有人对如何使用今天的日期初始化日历并在输入字段中保留日期有任何想法,那么将不胜感激。如果没有,也欢迎链接到替代解决方案。