7

プレビューと保存の 2 つのボタンがあります。プレビュー ボタンの助けを借りて、ユーザーはフォーマットに基づいてデータを表示し、保存することができます。

しかし、プレビューをクリックすると、ajaxcontrol (カレンダー) に添付された 1 つのテキストボックスが空になり、ユーザーは保存する前に日付を入力する必要があります。これをどのように処理しますか?プレビューをクリックすると、データをレイアウトで表示するための詳細が表示されます。

<asp:TextBox ID="txtDate" ReadOnly="true" runat="server"></asp:TextBox>
                    <div style="float: right;">
                        <asp:ImageButton ID="imgcalender1" runat="server" ImageUrl="~/images/calendar.png"
                            ImageAlign="Bottom" />
                        <asp:CalendarExtender ID="ajCal" TargetControlID="txtpublishDate" PopupButtonID="imgcalender1"
                            runat="server">
                        </asp:CalendarExtender>
                        <asp:RequiredFieldValidator ID="RequiredFieldValidator2"  ValidationGroup="group1" runat="server" ControlToValidate="txtDate"
                            ForeColor="Red" Font-Bold="true" ErrorMessage="*"></asp:RequiredFieldValidator>
                    </div>

<asp:Button ID="btnPreview" runat="server" Text="Preview" OnClick="btnPreview_Click" />
                    <asp:Button ID="btnsubmit" runat="server" ValidationGroup="group1" Text="Save" OnClick="btnsubmit_Click" />
4

7 に答える 7

16

aspx コード (サーバー側) で Page.IsPostback() を使用します。このような:

private void Page_Load()
{
    if (!IsPostBack)
    {
        // the code that only needs to run once goes here
    }
}

このコードは、ページが最初に読み込まれたときにのみ実行され、ユーザーがフォームに入力した変更を踏まないようにします。

于 2013-03-28T20:02:42.973 に答える
8

私が理解していることから、プレビューボタンがポストバックを引き起こしているので、それを望まない場合は、プレビューボタンでこれを試してください:

<asp:button runat="server".... OnClientClick="return false;" />

同様に、これも機能します:

YourButton.Attributes.Add("onclick", return false");

編集:

ユーザーの質問に対する答えは、プレビュー ボタンの HTML マークアップの単純な変更だったようです

CausesValidation="False"
于 2013-03-28T20:01:59.877 に答える
3

コードを入れることができます

Page_Init()
{
   //put your code here
}

それ以外の

Page_Load()
{
   //code
}
于 2013-05-21T10:18:54.447 に答える
1

これを aspx ページのボタン プロパティに追加してみてください。

OnClientClick="return false;"
于 2013-03-28T19:59:48.303 に答える
-1
form1.Action = Request.RawUrl; 

ページの読み込み時にこのコードを記述すると、ボタンのクリック時にページがポストバックされません

于 2015-02-02T07:09:18.697 に答える