提问者:小点点

ASP.NET网页-使用脚本显示由预定义日期和时间指定的图像/文本


我的目标是仅在预定义的日期和时间(星期一到星期五,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或缓存会影响此脚本的性能吗?有没有这样的问题我需要解决,比如在代码中指定自动刷新页面?


共1个答案

匿名用户

您可以利用aspx页面中的隐藏字段。将所需的字符串值从后面的代码加载到隐藏字段中,然后在javascript函数中使用该字段来显示该值。