前段

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script src="../script/jquery-1.9.1.js"></script>
<script>
$(document).ready(function () {
$(".head").dblclick(function () {
//获取日期
var dt = $(this).attr("aaa");
window.open('WoDeRiChengAdd.aspx?d=' + dt, '_blank', 'width=450 height=350 toolbar=no');
});
$(".body").dblclick(function () {
//获得双击要修改的主键值
var key = $(this).attr("aaa");
window.open("WoDeRiChengEdit.aspx?id=" + key, "_blank", "width=450 height=350 toolbar=no");
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div> <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/RiChengGuanLi/WoDeYueJiHuaAdd.aspx">编制新计划</asp:HyperLink> </div>
<div align="center">
<h3 >我的月计划</h3>
<table bgcolor="black" border="0" cellpadding="0" cellspacing="1">
<tr id="head"> <%=ShowDay() %></tr>
<tr id="body"> <%=ShowDaySpan() %></tr>
</table>
</div>
</form>
</body>
</html>

  后端

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Globalization;
using System.Text;
public partial class RiChengGuanLi_WoDeYueJiHua : System.Web.UI.Page
{
public string ShowDay()
{
StringBuilder builder = new StringBuilder();
builder.Append("<tr align='center' bgcolor='navy' style='color:white;font-weight:bold;'>"); int year = DateTime.Now.Year;
int month = DateTime.Now.Month;
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
{
for (int i = 1; i <= 31; i++)
{
builder.Append("<td width='30'>"+i.ToString()+"</td>");
}
}
else if (month == 4 || month == 6 || month == 9 || month == 11)
{
for (int i = 1; i <= 30; i++)
{
builder.Append("<td width='30'>" + i.ToString() + "</td>");
}
}
else
{
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
{
//闰年2月
for (int i = 1; i <= 29; i++)
{
builder.Append("<td width='30'>" + i.ToString() + "</td>");
}
}
else
{
//平年2月
for (int i = 1; i <= 28; i++)
{
builder.Append("<td width='30'>" + i.ToString() + "</td>");
}
}
} builder.Append("</tr>");
return builder.ToString();
//GregorianCalendar gc = new GregorianCalendar();
//DateTime dt =new DateTime();
////int qq = dt.Day;
////int ww = dt.Year;
////int aa = dt.Month;
//gc.GetDaysInMonth(dt.Year,dt.Month,21);
//return null; }
public string ShowDaySpan()
{
StringBuilder builder = new StringBuilder();
//查询本人本月所有的计划
List<MonthPlans> plans = new MonthPlansBF().SelectMonthPlans(Session["user"].ToString(), DateTime.Now.Month);
foreach (MonthPlans data in plans)
{
builder.Append("<tr align='center' bgcolor='white' height='15' style='color:blue;font-weight:bold;'>"); int year = DateTime.Now.Year;
int month = DateTime.Now.Month;
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
{
for (int i = 1; i <= 31; i++)
{
List<MonthPlans> dayPlans = new MonthPlansBF().Select(data.PlanCode, new DateTime(year, month, i)); if (dayPlans.Count > 0)
{
TimeSpan ts = data.EndDay.Value - data.StartDay.Value; //计划开始与结束之间的时间间隔
int colspan = ts.Days+1; //要合并几个单元格
if (i == data.StartDay.Value.Day) //开始合并单元格的第一个单元格
{
builder.Append("<td colspan='" + colspan + "' width='30' bgcolor='#FFFF00' title='" + data.Content + "'>" + data.Content + "</td>");
}
}
else
{
builder.Append("<td width='30'></td>");
}
}
}
else if (month == 4 || month == 6 || month == 9 || month == 11)
{
for (int i = 1; i <= 30; i++)
{
List<MonthPlans> dayPlans = new MonthPlansBF().Select(data.PlanCode, new DateTime(year, month, i));
if (dayPlans.Count > 0)
{
builder.Append("<td width='30' bgcolor='#FFFF00'></td>");
}
else
{
builder.Append("<td width='30'></td>");
}
}
}
else
{
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
{
//闰年2月
for (int i = 1; i <= 29; i++)
{
List<MonthPlans> dayPlans = new MonthPlansBF().Select(data.PlanCode, new DateTime(year, month, i));
if (dayPlans.Count > 0)
{
builder.Append("<td width='30' bgcolor='#FFFF00'></td>");
}
else
{
builder.Append("<td width='30'></td>");
}
}
}
else
{
//平年2月
for (int i = 1; i <= 28; i++)
{
List<MonthPlans> dayPlans = new MonthPlansBF().Select(data.PlanCode, new DateTime(year, month, i));
if (dayPlans.Count > 0)
{
builder.Append("<td width='30' bgcolor='#FFFF00'></td>");
}
else
{
builder.Append("<td width='30'></td>");
}
}
}
} builder.Append("</tr>");
}
return builder.ToString();
}
public string ShowTimeSpan()
{
StringBuilder builder = new StringBuilder(); GregorianCalendar gc = new GregorianCalendar();
DateTime dt = new DateTime();
int n = gc.GetDaysInMonth(dt.Year, dt.Month); for (int i = 1; i <= n; i++)
{
builder.Append("<div style='height:30px;border-bottom:1px solid black;text-align:center;line-height:30px; vertical-align:middle'>");
builder.Append(i.ToString("00"));
builder.Append("</div>");
}
return builder.ToString();
} protected void Page_Load(object sender, EventArgs e)
{ }
}

MouthPlanBF 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; public class MonthPlansBF
{
private DataClassesDataContext _Context = new DataClassesDataContext();
public List<MonthPlans> SelectMonthPlans(string owner, int month)
{
var query = _Context.MonthPlans.Where(p=>p.Owner == owner && p.StartDay.Value.Month == month);
return query.ToList();
}
public List<MonthPlans> Select(string planCode,DateTime date)
{
var query = _Context.MonthPlans.Where(p => p.PlanCode == planCode && date >= p.StartDay && date <= p.EndDay); return query.ToList();
}
public void Insert(string planCode, string owner, DateTime start, DateTime end, string content, string responser, string method, string goal)
{
MonthPlans data = new MonthPlans
{
PlanCode = planCode,
Owner = owner,
StartDay = start,
EndDay = end,
Content = content,
Responser = responser,
Method = method,
Goal = goal
};
_Context.MonthPlans.InsertOnSubmit(data);
_Context.SubmitChanges();
}
}

  

 sql server

asp.net get图的更多相关文章

  1. ASP.NET MVC中在Action获取提交的表单数据方法总结 (4种方法,转载备忘)

    有Index视图如下: 视图代码如下: <%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Mas ...

  2. UML类图与类的关系详解

    摘自:http://www.uml.org.cn/oobject/201104212.asp UML类图与类的关系详解 2011-04-21 来源:网络 在画类图的时候,理清类和类之间的关系是重点.类 ...

  3. ASP.NET MVC5框架揭秘 学习笔记01

    1.自治视图 在早期(作者也没说明是多早,自己猜吧),我们倾向于将所有与UI相关的操作糅合在一起(现在我身边还有很多人这样做),这些操作包括UI界面的呈现. 用户交互操作的捕捉与响应(UI处理逻辑). ...

  4. ASP.NET MVC中在Action获取提交的表单数据方法

    有Index视图如下: 视图代码如下: <%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Mas ...

  5. ASP精华[转]

    <% '#######以下是一个类文件,下面的注解是调用类的方法################################################ '# 注意:如果系统不支持建立S ...

  6. ASP.NET Core文件压缩最佳实践

    前言 在微软官方文档中,未明确指出文件压缩功能的使用误区. 本文将对 ASP.NET Core 文件响应压缩的常见使用误区做出说明. 误区1:未使用 Brotil 压缩 几乎不需要任何额外的代价,Br ...

  7. [.ashx檔?泛型处理程序?]基础入门#5....ADO.NET 与 将DB里面的二进制图片还原 (范例下载 & 大型控件的ImageField)

    [.ashx檔?泛型处理程序?]基础入门#5....ADO.NET 与 将DB里面的二进制图片还原 (范例下载 & 大型控件的ImageField) http://www.dotblogs.c ...

  8. MVVM in Depth

    这篇文章开始粗略的介绍了软件开发中松耦合的概念并讲述了使用MVC.MVP和MVVM三种模式达到松耦合.然后分析了这三种模式适用范围,其中: MVC(Model-View-Controller)适用于w ...

  9. mxgraph进阶(三)Web绘图——mxGraph项目实战(精华篇)

    Web绘图--mxGraph项目实战(精华篇) 声明     本文部分内容所属论文现已发表,请慎重对待. 需求 由于小论文实验需求,需要实现根据用户日志提取出行为序列,然后根据行为序列生成有向图的形式 ...

随机推荐

  1. Java [parms/options] range -b 100 -c 10 -i 100 -t 300 -s 180

    3 down vote Just run the command java -X and you will get ans of all_ C:\Users\Admin>java -X -Xmi ...

  2. linux输入子系统概念介绍

    在此文章之前,我们讲解的都是简单的字符驱动,涉及的内容有字符驱动的框架.自动创建设备节点.linux中断.poll机制.异步通知.同步互斥.非阻塞.定时器去抖动. 上一节文章链接:http://blo ...

  3. springboot成神之——ioc容器(依赖注入)

    springboot成神之--ioc容器(依赖注入) spring的ioc功能 文件目录结构 lang Chinese English GreetingService MyRepository MyC ...

  4. SSD知识

    不管什么接口的SSD,一般都由以下部分组成:主控,Flash,板,壳,品牌.下面本佬就这些部分一一发帖,仅供娱乐参考,不作任何推荐和偏向,有不同见解请直接发表,有任何错误,请直接指正,不为吵架,只为娱 ...

  5. kettle init oracle jdbc

  6. 让你的javascript代码高大上

    1,创造简短的写法 你可以这么写: var slice = Array.prototype.slice; slice.call(arguments); //转化成数组 也可以这么写:(ie9+) va ...

  7. Java多线程-新特征-原子量

    所谓的原子量即操作变量的操作是“原子的”,该操作不可再分,因此是线程安全的. 为何要使用原子变量呢,原因是多个线程对单个变量操作也会引起一些问题.在Java5之前,可以通过volatile.synch ...

  8. Django详细介绍

    课程简介: Django流程介绍 Django url Django view Django models Django template Django form Django admin (后台数据 ...

  9. 重命名Docker容器

    重命名Docker容器: Docker rename [Old container name]  [New container name]

  10. p2150 [NOI2015]寿司晚宴

    传送门 分析 我们发现对于大于$\sqrt(n)$的数每个数最多只会包含一个 所以我们把每个数按照大质数的大小从小到大排序 我们知道对于一种大质数只能被同一个人取 所以f1表示被A取,f2表示被B取 ...