我的目标是仅在预定义的日期和时间(星期一到星期五,9:00am-5:00pm)期间在ASP.NET网页上显示字符串或图像。记住,我将依靠固定的服务器时间,PST。
我不确定该脚本是使用jQuery、JavaScript、C#还是PHP。下面是我到目前为止用JavaScript提出的内容。我走的路对吗?
<script type="text/javascript" language="javascript">
function GetDateTime()
{
var d = new Date();
var day = d.getDay(); //returns 0-6 corresponding to Sunday through Saturday
var hour = d.getHours(); //returns 0-23 corresponding to hours
}
</script>
现在我需要帮助操作变量'day'和'hour'。我想出了一个通用算法来指定星期一到星期五,9:00am-5:00pm,如下所示:
if ((day>0 && day<6) && (hour>8 && hour<18) ) //days 1 through 5 (M-F) and (hours 9:00-17:00)
{ alert("testing")
//This is for testing purposes. I will eventually insert code here to display string or image perhaps?
}
假设日期和时间正确获得并且if语句算法正确,我如何实现Javascript部分,并将代码与我的ASP.NET页面“绑定在一起”,以显示基于那些参数的字符串或图像?
这是我第一次在StackOverflow上发帖。我希望我能正确而清楚地回答这个问题。事先谢谢你的帮助。
编辑:我现在放弃了JavaScript。在我看来,C#是正确的方法。多亏了codingbiz的resonse,我才得以实现如下所示的脚本:
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
DateTime thisTime = DateTime.Now; // retrieve date and time
string day = thisTime.DayOfWeek.ToString(); // declare and define day to string
int hour = thisTime.Hour; // declare and define hour to int
//check if string contains the following: "Monday,Tuesday,Wednesday,Thursay,Friday"
if ("Monday,Tuesday,Wednesday,Thursay,Friday".IndexOf(day) > -1 && hour >= 9 && hour <= 17)
{
conditionalLabel.Text = "<img src='sony_frontex3_repair.jpg' />";
}
}
</script>
我还在内容页和母版页的正文中添加了以下条件标签:
新问题:假设一个用户在下午4:45访问我的网站,并且图像/字符串按预期显示。一段时间过去了,现在是5点05分。图像/字符串会自动消失,还是只在页面关闭后,再重新打开?cookie或缓存会影响此脚本的性能吗?有没有这样的问题我需要解决,比如在代码中指定自动刷新页面?
您可以利用aspx页面中的隐藏字段。将所需的字符串值从后面的代码加载到隐藏字段中,然后在javascript函数中使用该字段来显示该值。