none
Isvalidに関して RRS feed

  • 質問

  • ASP.NETで開発を行っています。

    サーバー側のコードでページ検証の結果を確認したいのですが、Isvalidプロパティの確認方法には

    Page.Isvalid/Me.Isvalid/MyClass.Isvalid等があり、どれを使えば良いのか分かりません。

    どなたかこれらの違いを教えて頂けないでしょうか?

    ちなみに、MyClassの場合インスタンスのクラスがどのクラスであるかに関わらず、確実にMyClassが用いられたクラスのプロパティを呼び出し、Meの場合はMeが用いられたクラスが何であるかに関わらず、インスタンスのクラスのプロパティが呼び出されるという認識程度はあります。

    2008年2月13日 0:30

回答

  • MeとMyClassの違いがわかれば、必然的にどれを使うべきかご理解頂けるのではないかと思います。

    じゃんぬさんが、Me、MyClassの違いを纏めていらっしゃっているので、ご参考にしてみると良いかもしれません。

    (概要レベルではわかりやすいです)

    http://blogs.wankuma.com/jeanne/archive/2006/11/09/44157.aspx

     

    今回の場合だと、

     

    Me:インスタンスが示すクラスのIsValid
    MyClass:呼び出されたクラス内にあるIsValid 

     

    ということになりますので、用途に合わせて使うべきだと思います。

     

    MyClass.IsValidは、「カスタム用Validatorコントロール」を「ASP.NET標準用のValidator系コントロール」から

    継承して作成した際、その「カスタム用Validatorコントロール内」でMyBase.IsValidやMyClass.IsValidを使うことがあります。

    また、*.aspxや*.ascx上から、IsValidを確認する場合は、Meで十分だと思っています。

    (特定コントロールのIsValidを確認したい場合は、また話が別ですが)


    それから、Page.IsValidですが、

    MSDN(http://msdn2.microsoft.com/ja-jp/library/system.web.ui.control.page(VS.80).aspx
    にもあるように、「Page(クラスのというべきかも) インスタンスへの参照」と明記されているので、
    各コントロールは、Pageプロパティが継承されていたと思います。

     

    各コントロールから、ページのIsValid(チェック結果)を確認したい時は、Page.IsValidを使うという感じになります。

    あまりうまく説明ができなくてすいませんが、ご参考になれば幸いです。

     

    #上記は、こう使いなさいというものではなく、あくまで1例としてご理解頂ければと思います。

    2008年2月13日 2:03

すべての返信

  • MeとMyClassの違いがわかれば、必然的にどれを使うべきかご理解頂けるのではないかと思います。

    じゃんぬさんが、Me、MyClassの違いを纏めていらっしゃっているので、ご参考にしてみると良いかもしれません。

    (概要レベルではわかりやすいです)

    http://blogs.wankuma.com/jeanne/archive/2006/11/09/44157.aspx

     

    今回の場合だと、

     

    Me:インスタンスが示すクラスのIsValid
    MyClass:呼び出されたクラス内にあるIsValid 

     

    ということになりますので、用途に合わせて使うべきだと思います。

     

    MyClass.IsValidは、「カスタム用Validatorコントロール」を「ASP.NET標準用のValidator系コントロール」から

    継承して作成した際、その「カスタム用Validatorコントロール内」でMyBase.IsValidやMyClass.IsValidを使うことがあります。

    また、*.aspxや*.ascx上から、IsValidを確認する場合は、Meで十分だと思っています。

    (特定コントロールのIsValidを確認したい場合は、また話が別ですが)


    それから、Page.IsValidですが、

    MSDN(http://msdn2.microsoft.com/ja-jp/library/system.web.ui.control.page(VS.80).aspx
    にもあるように、「Page(クラスのというべきかも) インスタンスへの参照」と明記されているので、
    各コントロールは、Pageプロパティが継承されていたと思います。

     

    各コントロールから、ページのIsValid(チェック結果)を確認したい時は、Page.IsValidを使うという感じになります。

    あまりうまく説明ができなくてすいませんが、ご参考になれば幸いです。

     

    #上記は、こう使いなさいというものではなく、あくまで1例としてご理解頂ければと思います。

    2008年2月13日 2:03
  • こんにちは。中川俊輔 です。

     

    けろ-みおさん、大変参考になる回答ありがとうございます。

     

    .Netsさん、フォーラムのご利用ありがとうございます。

    その後いかがでしょうか?

    問題解決に有用な回答のようでしたので、

    勝手ながらけろ-みおさんの回答へ回答済みチェックをつけさせていただきました。

    追加の質問等ありましたら是非投稿してください!

     

    問題解決につながる回答があった場合は、なるべく回答済みボタンを押してチェックを付けてください。

    .Netsさんはチェックを解除することもできますので、ご確認ください。

     

    それでは!

     

    2008年2月20日 8:05