String[] employs = new String[6]{"张", "王", "李", "赵", "周", "吴"}
StringBuilder html = new StringBuilder()//生成一个前台的<Table>
html.Append("<Table style='border:1px solid black'>")
html.Append("<tr><td width='100'>日</td><td width='200'>一</td><td width='200'>二</td><td width='200'>三</td><td width='200'>四</td><td width='200'>五</td><td width='200'>六</td></tr>")
DateTime startDate = new DateTime(2016, 1, 1) //求出2016/1/1是周几,如周五,则前面的5个单元格都置空,不写内容,从第6个单元格开始写人名。
int firstCell = (int)startDate.DayOfWeek//求周几
html.Append("<tr>")
for (int i = 0i <firstCelli++)
{
html.Append("<td></td>")
}
for (var now = startDatenow <startDate.AddYears(1)now = now.AddDays(1)) //循环一年
{
//根据周几求出当前的员工
int index = (int)now.DayOfWeek
string name = ""
if (index == 0)
{
name = "休息"//周日休
}
else
{
name = employs[index - 1]
}
html.AppendFormat("<td>{0}-{1}</td>", now.ToString("MM月dd日"), name)
if (index == (int)DayOfWeek.Saturday)
{
//周六就重起一行
html.Append("</tr><tr>")
}
}
html.Append("</tr>")
html.Append("</Table>")
Response.Write(html.ToString())
给你个思路吧.这个我以前做过..不过现在要是再去把代码写出来就有点花时间了.
首先..你输入时间,和人名
例如:输入 sky,15:30 数据库中保存了这条记录
然后最主要的就是查询了.查询这个时间是谁来值班
首先..把当前的时候得到 datetime.now 然后用他来当条件查询
select 人名from table where 时间=DateTime.Now.ToShortTimeString()
建议你用时间段 例如:输入sky,15:30,17:30
查询的时候
select 人名from table where 时间1>DateTime.Now.ToShortTimeString()
and 时间2<DateTime.Now.ToShortTimeString()
如果是最外层的if语句if(!IsPostBack)不能执行,那是因为他只执行一次,在第一次打开页面时执行,其它时候刷新提交都不执行如果是第二层if (Session["roleID"] != null)没有执行,那就是Session["roleID"] 为 null了
如果第三层if (Session["roleID"].ToString() == "1")没执行那就是Session["roleID"].ToString() 不等于 "1",这很好识别啊
就第一层比较特殊,第二层和第三层都和Session["roleID"]的值有关系,你只要添加监视,监视一下它的值是什么就行了
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)