- PR -

Calendarコントロール

1
投稿者投稿内容
けい
常連さん
会議室デビュー日: 2004/12/03
投稿数: 47
お住まい・勤務地: 神奈川県
投稿日時: 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);

}
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2006-02-08 20:48
引用:

ImageButtonイベントが起こせません。



駄目だと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
けい
常連さん
会議室デビュー日: 2004/12/03
投稿数: 47
お住まい・勤務地: 神奈川県
投稿日時: 2006-02-09 19:25
todo様
ありがとうございます。
リンクを参考にして修正しているうちに、単にスクリプトの書き方が間違っていたことに気づきました。そしてイベントが起こせてしまったんですが。。
Hiddenコントロールについても知らなかったので役立ちました。ありがとうございます。HTMLの知識があまりないのでこれから勉強しないと、と実感しました。
1

スキルアップ/キャリアアップ(JOB@IT)