在日历日点击打开文本框

时间:2015-09-02 06:27:40

标签: c# .net calendar

我已经看到这个解决方案的帖子数量,但没有得到令人满意的答案 我想在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); }

执行此操作

1 个答案:

答案 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。

相关问题