- - PR -
Calendarコントロール
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-02-08 17:52
C#.net2002 .net Framework 1.0でWebページ作成中です。Calendarコントロールに別のページに遷移するImageButtonを追加させようと考えていました。カレンダーにDBからの情報を元に動的にイメージボタンを追加表示させたいのです。ここまではできたのですが、ImageButtonイベントが起こせません。イメージボタンのOnClickイベントの追加をOnDayRenderで行っていますが、実際はページ遷移しません。
クリックすると、結局OnDayRenderメソッドに入ってしまうからです。 ではImageButtonが追加できるのは何の為??そもそもこれは不可能なのか?と困っております。 //一部抜粋 //********************************************************************** protected void Calender1_OnDayLender(object sender, System.Web.UI.WebControls.DayRenderEventArgs e ) { int count = 0; DataSet eventTable = (DataSet)ViewState["taskDataList"]; rowSet = eventTable.Tables[0].Rows; TableCell c = ((DayRenderEventArgs)e).Cell; DateTime eventDate = e.Day.Date; foreach(DataRow dr in rowSet) { DateTime testDate = (DateTime)dr["duedate"]; if ((testDate.ToShortDateString() == e.Day.Date.ToShortDateString())) { try { SetTaskImg(dr,e); StringBuilder temp = new StringBuilder(); temp.Append("<span style=font-family:Arial;font-size:10px;"); temp.Append("><br>"); temp.Append("-"); if(dr["task"].ToString().Length > 14) { temp.Append(dr["task"].ToString().Substring(0,14)); } else { temp.Append(dr["task"].ToString()); } temp.Append("</span>"); //c.Controls.Add(new LiteralControl(temp.ToString())); ImageButton img=new ImageButton(); img.ImageUrl= STR_IMG_EVENT; img.AlternateText=dr["task"].ToString(); //add id img.ID = Convert.ToString(dr["mwn_tasklist_id"]); //TODO: c.Controls.Add(img); } | ||||
|
投稿日時: 2006-02-08 20:48
駄目だとMSDNに書いてありますね。 http://www.microsoft.com/japan/msdn/library/ja/cpref/html/frlrfSystemWebUIWebControlsCalendarClassDayRenderTopic.asp 対処としては、POST変数でどのボタンが押されたかを判断するとか。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=27819&forum=7 | ||||
|
投稿日時: 2006-02-09 19:25
todo様
ありがとうございます。 リンクを参考にして修正しているうちに、単にスクリプトの書き方が間違っていたことに気づきました。そしてイベントが起こせてしまったんですが。。 Hiddenコントロールについても知らなかったので役立ちました。ありがとうございます。HTMLの知識があまりないのでこれから勉強しないと、と実感しました。 |
1