0

ここに画像の説明を入力

そのため、[選択] ボタンをクリックすると、カレンダーが表示され、日付を選択できます。日付を選択すると消えます。問題は、ボタンをクリックするたびにページ全体が再読み込みされることです。それを防ぐ方法はありますか?

私は ASP.NET の初心者ですか? イベントの設計コードと実際のコードは次のとおりです。

        <tr>
<td>
    Expired Date
</td>
            <td>

                <asp:TextBox ID="txtExpDate" runat="server"></asp:TextBox>

&nbsp;<asp:Button ID="btnSelectDate" runat="server" OnClick="btnSelectDate_Click" Text="Select" />
&nbsp;<asp:Button ID="btnClearDate" runat="server" OnClick="btnClearDate_Click" Text="Clear" />
            </td><td></td>

        </tr>
        <tr>
<td>
    &nbsp;</td>
            <td>
                <asp:Calendar ID="calExpiredDate" runat="server" BackColor="White" BorderColor="#3366CC" BorderWidth="1px" CellPadding="1" DayNameFormat="Shortest" Font-Names="Verdana" Font-Size="8pt" ForeColor="#003399" Height="200px" Visible="False" Width="220px" OnSelectionChanged="calExpiredDate_SelectionChanged">
                    <DayHeaderStyle BackColor="#99CCCC" ForeColor="#336666" Height="1px" />
                    <NextPrevStyle Font-Size="8pt" ForeColor="#CCCCFF" />
                    <OtherMonthDayStyle ForeColor="#999999" />
                    <SelectedDayStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
                    <SelectorStyle BackColor="#99CCCC" ForeColor="#336666" />
                    <TitleStyle BackColor="#003399" BorderColor="#3366CC" BorderWidth="1px" Font-Bold="True" Font-Size="10pt" ForeColor="#CCCCFF" Height="25px" />
                    <TodayDayStyle BackColor="#99CCCC" ForeColor="White" />
                    <WeekendDayStyle BackColor="#CCCCFF" />
                </asp:Calendar>
                <br />
            </td><td>
                &nbsp;</td>
        </tr>

protected void btnSelectDate_Click(object sender, EventArgs e)
        {
            if (calExpiredDate.Visible == false) calExpiredDate.Visible = true;
            else calExpiredDate.Visible = false;
        }

        protected void btnClearDate_Click(object sender, EventArgs e)
        {
            txtExpDate.Text = null;
        }


        protected void calExpiredDate_SelectionChanged(object sender, EventArgs e)
        {
            txtExpDate.Text = calExpiredDate.SelectedDate.ToShortDateString();
            calExpiredDate.Visible = false;
        }
4

2 に答える 2

0

最も簡単な解決策は、すべてを次のようにラップすることです<asp:UpdatePanel>

<asp:UpdatePanel>
    <ContentTemplate>
        your content, buttons, html, etc
    </ContentTemplate
</asp:UpdatePanel>

ページのちらつきをブロックします。

于 2013-07-24T22:13:13.040 に答える
0

Garrison Neely が提案したように、検証したくないテキスト ボックスについては、「CausesValidation」プロパティを「False」に設定します。

于 2013-07-24T23:25:38.030 に答える