2011-07-17 9 views
0

フォームを作成していますが、ここでは必須のフィールド検証がチェックされている必要があります。私はASPバリデーターを使用していません。私はWinFormsメッセージボックスと同様に、ASP.NETでモーダルポップアップコントロールを使用するにはどうすればよいですか?

関数checkRequiredInputs(){

$("#frmSaleSubmissionInfo").validate({ 
    rules:{ 
     txtFName:{required: true}, 
     txtLName:{required: true}, 
     txtAddress:{required: true}, 
     txtPhone:{required: true} 
    }, 
    messages:{ 
     txtFName:"Enter Name", 
     txtLName:"Enter Name", 
     txtAddress:"Enter Address", 
     txtPhone:"Enter Phone Number" 
    } 
}); 

これは私のクライアント側の検証であるようにjQueryのバリデータを使用しています。私はコードの背後にあるコードでC#を使用しています。今私は私のブラウザでallowjavascriptオプションをオフにした場合、私はそれがjavascriptを許可しないことを知っている限り。だから私はまた、必要なフィールドのサーバー側の検証をやっている。しかし、ASP.NETにはメッセージボックスコントロールがないので、空のままにしているフィールドをユーザーに知らせるのは難しいです。メッセージボックスのようなコントロールを使用して、フォームを正常に入力するために必要なフィールドを表示したり、ユーザーに知らせる方法はありますか?

答えて

1

私の視点では、ASP.NET AJAX Toolkit ValidatorCalloutコントロールを使用することで、このようなソリューションをより迅速に構築するのに役立ちます。

しかし、あなたはbe expired hereよりも2つのjavascriptフレームワーク(ASP.NET AJAXとjQuery)を混在させたくない場合は、検証とjQueryの対処方法を見つけることができます。

0

あなたはモーダルポップアップをしたい場合は、単にサーバーコードからいくつかのjavascriptを送る:

Response.Write(
    "<script type='text/javascript'>alert('A required field is missing.');</script>"); 

alert()はJavaScript関数です。 Response.Write()は、<script>要素をHTTPレスポンスの最後(つまりレンダリングされたHTMLページ)に追加します。

よりエレガントなアプローチは、起動スクリプトを登録するClientScriptManagerを使用することです:

protected void Page_Load(object sender, EventArgs e) { 
    this.ClientScript.RegisterClientScriptBlock(this.GetType(), 
     "RequiredFieldValidationScript", 
     "alert('A required field is missing.');", 
     true); 
} 

JavaScriptコードalert('A required field is missing.');は、ポストバック後に実行されます。

も参照してください:http://www.4guysfromrolla.com/articles/021104-1.2.aspx

0

ジャバスクリプトがなければ、私は、モーダルタイプのポップアップを再作成する簡単な方法を想像することはできません。ポストバックに行き、DIVでページをブロックし、もう1つのdivにエラーのあるページを再描画する必要があります。

送信ボタンの横にあるタグにエラーをいつでもパイプして、それを1日と呼びます。

関連する問題