1

イントラネット デスクトップ アプリケーションを開発していますが、ほとんどの機能には Web インターフェイスが必要です。最初のイテレーションのデスクトップ部分はほぼ完成したので、WebForms でそれを行う必要があります。私は 1 年以上 WebForms に触れていないので、疑問に思っています...

いくつかのテキストボックスを含むフォームがある場合、javascript などを使用して検証をコーディングできることに気付きましたが、WinForms でできるようにそれを行う方法はありますか? WinForms テキストボックスには、ユーザーがテキストボックスを離れたときに呼び出される Validating メソッドがあります。デスクトップアプリでは、プロパティの設定に検証があるクラスインスタンスプロパティを設定するように装備しています。WebForms で同じことを行う方法はありますか、それともクライアント側ですべて書き直す必要がありますか? ASP TextBoxes には textchanged メソッドがありますが、検証が表示されません。皆さんは、クライアント側ですべてを書き直さなければならないと言うと思いますが、期待しています。

4

1 に答える 1

1

最初から行う必要はありません。Asp.Net には、データ型、範囲、フィールド間の比較、必須フィールド、さらにはエラーの概要を支援する組み込みのバリデータがいくつかあります。詳細については、このリンクを参照してください

CustomValidatorコントロールを使用して、この検証モデルで独自の JavaScript を使用することもできます。

w3schools.com には、ここにすばらしいチュートリアルがあります。

編集済み:ポストバックの回避

Ajax を使用するために TextBox を UpdatePanel でラップするか、より効率的にしたい場合は、jQuery を使用して WebMethod を呼び出してオブジェクトを設定できます。例:

[WebMethod(EnableSession = true)]    
public static  string MyWebMethod(String someVar)
{ 
    HttpContext.Current.Session["someVar"] = someVar;
}

クライアント側:

 $.ajax({
        type: "POST",
        url: 'Page.aspx/MyWebMethod',
        data: "{ someVar: 'valueFromTextBox' }",
        contentType: 'application/json; charset=utf-8',
        success: function (data) {
            //alert(data);
        }
    });
于 2012-05-04T19:25:17.660 に答える