我已经看到这个解决方案的帖子数量,但没有得到令人满意的答案 我想在Calender单元格上添加textbox +按钮,然后在单击单击时打开它,
我可以点击单元格打开弹出窗口。但不能使用Textbox
的{{1}},
CellSize
并调用DayRender事件
<asp:Calendar
ID="Calendar2"
runat="server"
NextPrevFormat="FullMonth"
SelectionMode="Day"
DayNameFormat="Full"
OnDayRender="Calendar1_DayRender"
VisibleDate="10/7/2008" OnSelectionChanged="Calendar2_SelectionChanged"
>
</asp:Calendar>
如何为protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
Label lbl = new Label();
lbl.Text = e.Day.DayNumberText.ToString();
lbl.Attributes.Add("onclick", "JavaScript:void(window.open('Test/Default.aspx'))");
lbl.Style.Add("cursor", "pointer");
e.Cell.Controls.Add(lbl);
}
?
答案 0 :(得分:0)
在您的日历活动中 protected void Calendar1_DayRender(对象发送者,DayRenderEventArgs e) { 按钮btn = new Button();
btn.Text = "+";
btn.Attributes.Add("onclick", "javascript:return btnClick(" + e.Day.DayNumberText + ")");
btn.Style.Add("cursor", "pointer");
TextBox txt = new TextBox();
txt.ID = e.Day.DayNumberText.ToString();
txt.Attributes.Add("style", "display:none;");
txt.Attributes.Add("onclick", "JavaScript:void(window.open('Test/Default.aspx'))");
e.Cell.Controls.Add(txt);
e.Cell.Controls.Add(btn);
}
在aspx文件中添加脚本标记
<script type="text/javascript">
function btnClick(id){
var txt = document.getElementById(id);
txt.attributes.removeNamedItem("style");
return false;
}
</script>
由于您使用过javascript,我坚持您的兼容性。但我建议你使用jquery。