vs2005中日历控件 asp:Calendar 点某一天时 链接到另一个页面,并把参数如2007-12-21传过去 ?在线等

cht_800918 2007-12-21 04:33:34
vs2005中日历控件 asp:Calendar 点某一天时 链接到另一个页面,并把参数如2007-12-21传过去

怎么实现,请给出实例代码。
...全文
269 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
aiolia911 2008-01-18
  • 打赏
  • 举报
回复
protected void cal1_DayRender(object sender, DayRenderEventArgs e)
{
CalendarDay d = ((DayRenderEventArgs)e).Day;
TableCell c = ((DayRenderEventArgs)e).Cell;
ChineseCalendar cd = new ChineseCalendar(d.Date);
c.Height = 75;

if (!d.IsOtherMonth) //是否当前月

{
c.Controls.Clear(); //去掉日历表自带的日期数字
c.BackColor = System.Drawing.Color.FromName("#FFFBF7"); //当前月份背景颜色
try
{
System.Web.UI.HtmlControls.HtmlGenericControl Link = new System.Web.UI.HtmlControls.HtmlGenericControl();
Link.TagName = "a";
Link.InnerText = e.Day.DayNumberText;
Link.Attributes.Add("href", "Schedule/schaddup.aspx?day=" + d.Date.ToShortDateString());
Link.Attributes.Add("title", d.Date.ToShortDateString());
Link.Attributes.Add("style", "color:#000;font-size:14px;font-weight:bold");
c.Controls.Add(new LiteralControl("<div>"));
c.Controls.Add(Link);
c.Controls.Add(new LiteralControl("</div>"));

c.Controls.Add(new LiteralControl("<div>"));
c.Controls.Add(new LiteralControl(cd.ChineseTwentyFourDay));
c.Controls.Add(new LiteralControl("</div>"));

calshow(d, c, strID);
}
catch (Exception exc)
{
Response.Write(exc.ToString());
}
}
else
{
c.Controls.Clear(); //去掉日历表自带的日期数字
System.Web.UI.HtmlControls.HtmlGenericControl Link = new System.Web.UI.HtmlControls.HtmlGenericControl();
Link.TagName = "a";
Link.InnerText = e.Day.DayNumberText;
Link.Attributes.Add("href", "Schedule/schaddup.aspx?day=" + d.Date.ToShortDateString());
Link.Attributes.Add("style", "color:#cecece;font-size:14px;font-weight:bold");
e.Cell.Controls.Add(Link);
}

if (d.IsToday)
{
c.BackColor = System.Drawing.Color.FromName("#FFFAE0");
}
if (d.IsOtherMonth)
{
c.BackColor = System.Drawing.Color.FromName("#FAFAFA");
}

if (CheckBox1.Checked == true)
{
Show_Friend_Schedule(d, c, 84443);
}

}


自己看着改
evjen 2007-12-21
  • 打赏
  • 举报
回复
用跨页面回发啊~!

有日历控件的页面 default2.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script type="text/javascript" language="javascript">
public Calendar ca
{
get{
return Calendar1;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Calendar ID="Calendar1" runat="server"></asp:Calendar>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" PostBackUrl="~/Default3.aspx"/>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label></div>
</form>
</body>
</html>


接收页面default3.aspx

页面代码:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>
<%@ PreviousPageType VirtualPath="~/Default2.aspx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</div>
</form>
</body>
</html>

后置代码:
protected void Page_Load(object sender, EventArgs e)
{
if(PreviousPage != null && PreviousPage.IsCrossPagePostBack)
{
Calendar cc = PreviousPage.FindControl("Calendar1") as Calendar;
if(cc!=null)
{
Label1.Text = cc.SelectedDate.ToString();
}
}
}


这种跨页面回发是从属性中获得控件的值
Eddie005 2007-12-21
  • 打赏
  • 举报
回复
<asp:Calendar ID="Calendar1" runat="server" OnSelectionChanged="Calendar1_SelectionChanged">
</asp:Calendar>
*************************************************************
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
Response.Redirect("default4.aspx?thedate="+this.Calendar1.SelectedDate.ToShortDateString());
}
wangyanyan 2007-12-21
  • 打赏
  • 举报
回复
链接到另一个页面,可以用Response.Redirect或Server.Transfer
wangyanyan 2007-12-21
  • 打赏
  • 举报
回复

//SelectionChanged事件
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
string str = Calendar1.SelectedDate.ToString("yyyy-MM-dd");
}

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧