0

次のことを行うための標準/推奨方法は次のとおりです。

ユーザーが Page_Command の「保存」または「送信」を実行したときに、メソッドを実行したいと考えています。メソッドが false を返す場合、ユーザーをページに戻してメッセージを表示したいと考えています。

フォームに入力したデータはすべて残っているはずです。メッセージには、「とにかく送信/関係なく送信」というボタンがあります。クリックすると送信されます。

WebサービスとjQueryを介してこれを行うことができることは知っていますが、WebFormsを介してこれを行う方法を尋ねています.

これが私の基本的なコードです:

protected void Page_Command(Object sender, CommandEventArgs e)
{   
    if ( e.CommandName == "Save" || e.CommandName == "Send" )
    {
        // run method
    }
}
4

1 に答える 1

1

これを行うにはいくつかの方法があります。

1 つのオプションは、「保存」というテキストのボタンと、「とにかく送信」というテキストのボタンです。最初に 2 番目のボタンを非表示にし、最初のボタンを表示します。

最初のボタンがクリックされると、検証ロジックが実行されます。検証が成功した場合は送信します。それ以外の場合は、最初のボタンを非表示にし、他のボタンを表示に設定します。

2 番目のボタンがクリックされると、検証なしで送信が実行されます。

アップデート:

いくつかのマイナーな変更により、次のようなことができるはずです。

マークアップ:

<asp:Button runat="server" 
            ID="myFirstButton"
            OnClick="SubmitWithValidation" />

<asp:Button runat="server" 
            ID="mySecondButton"
            Visible="False"
            OnClick="SubmitData" />

コード:

protected void SubmitWithValidation(object sender, EventArgs e)
{
    if (ValidateMyData())
    {
            SubmitData(sender, e);
    }
    else
    {
        mySecondButton.Visible = true;
        myFirstButton.Visible = false;
    }
}

private bool ValidateMyData()
{
    // Validate stuff

    return isValid;
}

private void SubmitData(object sender, EventArgs eventArgs)
{
    // Logic to submit your data here
}
于 2013-04-19T20:23:51.033 に答える