“ asp”按钮禁用“ asp”日历上的月份更改

时间:2018-08-10 14:29:52

标签: javascript c# asp.net

我有一个asp日历,该日历可以正常工作,但是当我添加一个asp按钮以提交文本框值的形式时,日历仅显示当前月份,上一个和下个月的按钮不起作用。

<form id="form1" runat="server">
    <div>
        <asp:Calendar ID="cal2" runat="server" Width="50%" DayField="Date" OnDayRender="Calendar1_DayRender"
            BackColor="Orange" NextMonthText="Next" PrevMonthText="Prev" OnVisibleMonthChanged="Calendar1_VisibleMonthChanged" >
            <DayStyle CssClass="days" VerticalAlign="Top" Font-Name="Arial" Width="100px" Height="100px" BackColor="lightYellow"  />
             <TodayDayStyle BackColor="Orange"  />
            <OtherMonthDayStyle BackColor="LightGray" ForeColor="DarkGray"/>
        </asp:Calendar>
        </div>
    <asp:Button ID="submit" CssClass="login" runat="server" Text="Submit" OnClick="Submit_click" /> 
</form>

我有一些文本框已发回到服务器端,为此我需要使用asp按钮,如何防止它禁用日历功能? 预先感谢

1 个答案:

答案 0 :(得分:2)

问题出在您按钮的名称(ID)。日历组件使用内部(javascript)调用form.submit(),引入具有此ID的按钮可中断该调用。

示例修复程序:

<asp:Button ID="MySubmit" CssClass="login" runat="server" Text="Submit" OnClick="Submit_click" />

(这不是Calendar组件所独有的,除非您确切知道自己在做什么,否则通常不应在ASP.NET中将按钮命名为“ submit”)