用于ASP.NET MVC的日历控件

在ASP.NET MVC里应该没有人愿意用<asp:Calendar ...>这个控件吧?它必须要求服务器端的一个form,但这已经违背了MVC的原则,所以我们不能用它啦。
或许你可以用javascript的日历来解决你的问题,那也很不错。
我这里向你推荐一个日历“控件”,它是扩展到HtmlHelper的,所以你可以在页面里使用<%= Html.Calendar() %>就可以得到一个标准化的日历了。

要下载源码和例子请到: http://shinyzhu.com/blog/entry/aspnet-mvc-calendar(这个地址暂时关闭了,请到下面的链接)
另外别忘了支持这个项目: http://www.codeplex.com/mvcapps

首先说说这个日历的作用,简单一点地说呢,就是可以显示指定月份的日历,最简单的方式就是 Html.Calendar ,它生成一个当前月份的日历。要指定日期也需要指定一个名字,因为同一个id不能在同一个页面出现多次,所以我这么要求了。代码是:
<%= Html.Calendar("otherName", selectedDate) %>
就可以显示指定日期那个月份了。

 

 

其实这个的原理是遍历月份的每一天,然后输出HTML字符串,很简单吧?


我的一个需求是要把当前日志按日期归档,有日志的那天我需要在日历上有一个链接,链接到这一天的归档。

这个就是我扩展它的原因了。

具体应用请看代码:

public static string Calendar(this HtmlHelper helper, string name, DateTime selectedDate, IEnumerable<DateTime> rawDates, string controllerName, string actionName);

这个是方法原型。

像这么用:



得到的效果是:



好了。需要注意的地方就是,目前这个日历链接中,controller和action是参数指定的,values目前只支持 date=year-month-daydate=year-month两种格式。你可以在Route配置里配置一个 " blog/archive/{date}“ 然后就可以生成像我的网站那种链接了。很方便吧?

欢迎砸鸡蛋哦!谢谢啦。图片已更新。

转载于:https://www.cnblogs.com/shinyzhu/archive/2008/07/11/1240939.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值