开发者社区> nicenelly> 正文

改造asp.net日历控件为弹出式日期选择控件和GridView呈现长文本字段的两个技巧

简介:
+关注继续查看

asp.net中自带了一个非常不错的日历控件,但在其呈现方式上还是稍有欠缺。现在我们用一个小技巧,可以轻松创建一个弹出式日期。自此你再也不用去网上找那个带了很多脚本代码的JS制作的弹出式日期控件了。

实现,方式很简单:只需在页面中加入一点Javascript和一些CSS,就可以制作一个简单的弹出式日期选择器。

其中,.aspx代码如下:


<head id="Head1" runat="server"> <title>无标题页</title> <mce:script type="text/javascript" language="javascript"><!-- function displayCalendar() { var datepicker=document.getElementById("datePicker"); datePicker.style.display='block'; } // --></mce:script> <mce:style type="text/css"><!-- #datePicker { display:none; position:absolute; border:solid 2px black; background-color:White; } --></mce:style><style type="text/css" mce_bogus="1"> #datePicker { display:none; position:absolute; border:solid 2px black; background-color:White; } </style> </head> <body> <form id="form1" runat="server"> <asp:Label ID="Label1" runat="server" Text="日期:"></asp:Label> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <img src="client.png" mce_src="client.png" alt="日历" onclick="displayCalendar()" /> <div id="datePicker"> <asp:Calendar ID="Calendar1" runat="server" onselectionchanged="Calendar1_SelectionChanged"></asp:Calendar> </div> <asp:Button ID="Button1" runat="server" Text="Button" /> </form> </body> </html>

.aspx.cs代码:


protected void Calendar1_SelectionChanged(object sender, EventArgs e) { TextBox1.Text = Calendar1.SelectedDate.ToString("d"); }

效果:


技巧二:

当GridVIew用于呈现一个很多字符串记录,而可以设置的宽度又很有限的话,我们可以利用GridView的ToolTip属性的这个技巧,技巧如下:

protected void gv_HistoryRecords_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { if (e.Row.Cells[2].Text.Trim().Length > 7) { e.Row.Cells[2].ToolTip = e.Row.Cells[2].Text; e.Row.Cells[2].Text = e.Row.Cells[2].Text.Substring(0, 6) + "<b>....</b>"; } } }

主要是先先判断字段字符长度是否大于某个设定的值,如果大于这个值,将整个字段值都存入ToolTip属性中,然后截取前多少个字符显示在GridView中即可。

效果:

当然如果,在代码中给ToolTip加些标记,设置一下显示外观,应该会更美观一些!





原文发布时间为:2010-04-10


本文作者:vinoYang


本文来自云栖社区合作伙伴CSDN博客,了解相关信息可以关注CSDN博客。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
在ASP.NET中使用ListView控件对数据进行显示、分页和排序
在ASP.NET中使用ListView控件对数据进行显示、分页和排序
52 0
在ASP.NET中分页显示DataList控件中的数据
在ASP.NET中分页显示DataList控件中的数据
36 0
全网最全面的ASP.NET标准控件介绍及代码演示(下)
全网最全面的ASP.NET标准控件介绍及代码演示(下)
58 0
全网最全面的ASP.NET标准控件介绍及代码演示(上)
全网最全面的ASP.NET标准控件介绍及代码演示(上)
23 0
【WPF】【UWP】借鉴 asp.net core 管道处理模型打造图片缓存控件 ImageEx
原文:【WPF】【UWP】借鉴 asp.net core 管道处理模型打造图片缓存控件 ImageEx 在 Web 开发中,img 标签用来呈现图片,而且一般来说,浏览器是会对这些图片进行缓存的。 比如访问百度,我们可以发现,图片、脚本这种都是从缓存(内存缓存/磁盘缓存)中加载的,而不是再去访问一次百度的服务器,这样一方面改善了响应速度,另一方面也减轻了服务端的压力。
1236 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载