怎样避免页面刷新,当选者calendar的时间时! 在calendar中点击时间后,页面就会刷新,很不好,什么办法可以避免这个问题!去掉runat=server,好像不可以。或者尤其他好的控件可推荐否,就像DTimer之类的咚咚 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我是这样处理在文本框旁边放一个按钮点击按钮,打开一个新的页面,在新页面中选择日期然后把选择的日期回传到文本框如果你需要我的代码,请和我联系[email protected] 你可以在calendar在客户端生成后用javascript给每个日期加上客户端的操作代码来实现你想要的功能:<asp:Calendar id="Calendar1" style="Z-INDEX: 101; LEFT: 288px; POSITION: absolute; TOP: 168px" runat="server"></asp:Calendar></FONT><input type="hidden" id="hid3" runat=server><INPUT type="hidden" id="hid2" runat=server><input type="hidden" id="hid1" runat="server"><script language="javascript"> //取得该页面中所有的超链接的数组 var e = document.links; for(var i=0;i<e.length;i++) { 如果是日期的链接 if(e[i].innerText >= 1 && e[i].innerText <= 31) { //添加onclick事件,以链接到需要的页面 e[i].onclick = function test(){ document.Form1.hid3.value = this.innerText + "/" + document.Form1.hid2.value + "/" + document.Form1.hid1.value; return false;}; } }</script>后台代码:private void Page_Load(object sender, System.EventArgs e){ // hid1和hid2为两个设置成runat=server的hidden,看上面的html就能知道 //这样的目的是每次月份改变后就会重新设定年、月这两个值 hid1.Value = Calendar1.SelectedDate.Year.ToString(); hid2.Value = Calendar1.SelectedDate.Month.ToString();}注意几点:1.这段脚本一定要写在calendar控件后面,否则无法找到对应的日期超链接。2.这里定义了两个hidden用来放置当前年份和月份,因为你的日期链接不会再进行postback动作所以你无法通过服务器端代码进行日期的取得,必须事先将年份和日期存在hidden中备用。年存储在hid1中,月存储在hid2中,最后取得的值存在hid3中。3.Calendar的SelectDate属性必须设置,否则在服务器端取到的年和月是错误的。4.Calendar的上个月和下个月的日期必须不显示,否则日期会错误,我记得好像有这个属性,你找找看。这样做不是很方便,你可以到网上找找用Javascript写的日历,比较方便。 微软的 calendar 控件是有点不好用!用其他的方法或控件吧! 我将它设为不可选,然后为每天加了一个复选框,这样来实现多选。之前还通过在session里面保存selecteddatecollection来实现多选,这个会自动提交。上面说的那个方法不会自动提交,要用一个按钮来提交。但是我现在在研究提交时如何遍历每个复选款,呵呵。 干吗这么麻烦?你担心的是刷新整个网页,并不担心只刷这个控件把控件放到IFRAME里就OK了 不需要,一个是放到Ifram中,另外就是用JAVASCRIP写的日期控件 这个帖子还没结呢啊我自己做了一个用户控件,可多选日期的:http://blog.csdn.net/sizheng0320/archive/2004/09/20/111114.aspx 还是用梅花雨的日历控件吧,用 javascript 写的,很好用!其下载地址为:http://www.dev-club.com/club/bbs/showAnnounce.asp?page=1&id=2259248 建议用梅花雨js日历控件。由于是js的,所以不会有刷新问题存在。非常好用。 NVelocity如何调用.NET方法 formview中的textbox怎样使用jquery的datepicker 求解页面读取sql数据乱码问题! asp.net的DropDownList 的问题 关于静态方法 谁知道 FCKeditor编辑器里面的工具栏按钮图片是在哪里定义和调用的?(for .net) 布局乱,怎么都改不过来,请高手帮忙 有没有成熟的asp.net开发模式 怎么样在WEB上构建实时系统? 高手,帮帮忙--》如何自动发布? 请问在调用js打印的时候怎么把下面的url(文件的地址)去掉啊? 如何把table类型表与boolean类型的方法返回值对应相等
在文本框旁边放一个按钮
点击按钮,打开一个新的页面,在新页面中选择日期
然后把选择的日期回传到文本框如果你需要我的代码,请和我联系
[email protected]
<asp:Calendar id="Calendar1" style="Z-INDEX: 101; LEFT: 288px; POSITION: absolute; TOP: 168px" runat="server"></asp:Calendar></FONT>
<input type="hidden" id="hid3" runat=server>
<INPUT type="hidden" id="hid2" runat=server>
<input type="hidden" id="hid1" runat="server">
<script language="javascript">
//取得该页面中所有的超链接的数组
var e = document.links;
for(var i=0;i<e.length;i++)
{
如果是日期的链接
if(e[i].innerText >= 1 && e[i].innerText <= 31)
{
//添加onclick事件,以链接到需要的页面
e[i].onclick = function test(){ document.Form1.hid3.value = this.innerText + "/" + document.Form1.hid2.value + "/" + document.Form1.hid1.value; return false;};
}
}
</script>后台代码:
private void Page_Load(object sender, System.EventArgs e)
{
// hid1和hid2为两个设置成runat=server的hidden,看上面的html就能知道
//这样的目的是每次月份改变后就会重新设定年、月这两个值
hid1.Value = Calendar1.SelectedDate.Year.ToString();
hid2.Value = Calendar1.SelectedDate.Month.ToString();
}
注意几点:
1.
这段脚本一定要写在calendar控件后面,否则无法找到对应的日期超链接。2.
这里定义了两个hidden用来放置当前年份和月份,因为你的日期链接不会再进行postback动作
所以你无法通过服务器端代码进行日期的取得,必须事先将年份和日期存在hidden中备用。
年存储在hid1中,月存储在hid2中,最后取得的值存在hid3中。3.
Calendar的SelectDate属性必须设置,否则在服务器端取到的年和月是错误的。4.Calendar的上个月和下个月的日期必须不显示,否则日期会错误,我记得好像有这个属性,你找找看。这样做不是很方便,你可以到网上找找用Javascript写的日历,比较方便。
之前还通过在session里面保存selecteddatecollection来实现多选,这个会自动提交。上面说的那个方法不会自动提交,要用一个按钮来提交。但是我现在在研究提交时如何遍历每个复选款,呵呵。
把控件放到IFRAME里就OK了