2016-06-29 6 views
1

ないときにボタンが呼び出されませんキャンセルキャンセルボタンが他のページにリダイレクトされたかどうかを知るために、コントローラーで次のように入力してください:は、私はこれらの2つのボタンが持っていたにModelStateが有効

テキストボックスに適切な有効な値を入力してキャンセルをクリックすると動作します。BUTテキストボックスに検証エラーがあってもキャンセルされません。それで、どちらもリダイレクトされません。

どうすればよいですか?

答えて

2

フォームを両方のシナリオ(キャンセルまたは送信)でサーバーにPOSTしようとしているかのように聞こえます。

検証の問題がある場合は、サーバーにフォームをPOSTしてPOSTするのはあまり意味がありません。これを行うと、サーバ側の妥当性チェックに頼り、ログインに戻るようにします。あなたは常にサーバー側を持っているべきですが、明らかにそれに頼るだけでなく、サーバー側とクライアント側の両方の検証を持つことがベストです。

代わりの解決策は、キャンセルボタンをリンクで置き換えることです。 など。

@Html.ActionLink("Cancel", "Login") 

これは、単にユーザーをログインページにリダイレクトするため、パフォーマンス面でも優れています。サーバーにポストバックしてからルーティングする代わりに。

関連する問題