次の方法で共有


環境ツールの使い方

モバイル コントロールの操作については、いくつかの制限があります。たとえば、コントロールを誤って不適切な場所にドロップしたり、@ Register ディレクティブで単語のスペルを間違えたりすると、エラーが発生します。

コントロールの制限事項

デザイン ビューでページ上の間違った場所にコントロールを配置すると、Visual Studio によりエラー メッセージが表示されます。デザイナ使用時のエラーを防ぐために、以下のガイドラインに従ってください。

  • モバイル Web コントロールは ASP.NET モバイル Web ページでのみ使用します。

  • Form コントロールおよび StyleSheet コントロールを除くすべてのコントロールは、コンテナ内またはモバイル ユーザー コントロール内に配置します。

  • コントロールの包含規則に従います。詳細については、各コントロールのトピックを参照してください。コントロールに適用される包含規則の一覧があります。コントロールの一覧については、「モバイル コントロール リファレンス」を参照してください。

  • @ Register ディレクティブのスペルが正しいかどうかを確認します。

禁止事項

  • ASP.NET モバイル Web コントロールは、ASP.NET モバイル Web ページ以外のページに配置しないでください。

  • Web サーバー コントロールまたは HTML サーバー コントロールは、モバイル Web ページの Form 内またはテンプレート内以外の場所に配置しないでください。

  • ページまたはコンテナで許可されているコントロール数を超えないようにしてください。たとえば、同じページに複数の StyleSheet コントロールを配置することはできません。

  • @ Register ディレクティブをモバイル Web ページから削除しないでください。

    6dhxs5c1.alert_note(ja-jp,VS.90).gifメモ :

    .NET Framework のあるバージョンで作成したページをそれより後のバージョンで実行している場合は、そのページに @ Register ディレクティブを追加することが必要な場合があります。必要な @ Register ディレクティブの例については、以下を参照してください。

以下のセクションには、エラーが発生する可能性のある条件についての詳細が記載されています。

ページ違反

モバイル Web コントロールを含んだページが Visual Studio に読み込まれたときに、そのページが MobilePage 型でない場合は、例外が発生します。この場合は以下のエラー メッセージが表示されます。

"このコントロールは、型 MobilePage のページでのみ作動します。"

また、モバイル Web フォーム コントロールを含んだモバイル Web ページが Visual Studio の 1.1 より前のバージョンに読み込まれたときに、@ Register ディレクティブが見つからないか正しくなかった場合も、例外が発生します。この場合は以下のエラー メッセージが表示されます。

ASP.NET プロジェクト ページ違反

マウス ポインタをコントロール上に移動すると、ツールヒントが表示されて詳細なエラー情報を確認できます。

6dhxs5c1.alert_note(ja-jp,VS.90).gifメモ :

.NET Framework の Version 1.0 を対象としたアプリケーションを作成する場合は、@ Register ディレクティブに以下の TagPrefix 属性を追加する必要があります。

<%@ Register TagPrefix="mobile" 
    Namespace="System.Web.UI.MobileControls" 
    Assembly="System.Web.Mobile" %>

包含規則違反

ASP.NET Web サーバー コントロールがモバイル Web ページでテンプレート外に配置されると、次のエラー メッセージが表示されます。

"モバイル以外のコントロールは、テンプレート内でのみ使用できます。このコントロールを削除するか、またはテンプレートに移動してください。"

この問題を修正するには、コントロールを削除または移動します。

また、以下の操作も包含規則違反の原因となります。

  • Form コントロールがページの最上位に配置されていない。

  • Panel コントロールが Form コントロールまたはテンプレートの外に配置されている。

  • DeviceSpecific コントロールが、Form コントロールまたは Panel コントロールの外に配置されている。

  • StyleSheet コントロールがページの最上位に配置されていない。

  • 他のモバイル Web コントロールが、Form コントロール、Panel コントロール、またはテンプレートの外に配置されている。

複数の StyleSheet コントロールがページに追加されると、2 番目の StyleSheet コントロールは無効になり、エラー メッセージが表示されます。1 番目の StyleSheet コントロールを削除すると、残りの StyleSheet コントロールがアクティブになります。

複数の DeviceSpecific コントロールがコンテナ コントロールに追加されると、2 番目のコントロールは無効になり、エラー メッセージが表示されます。1 番目のコントロールを削除すると、残りのコントロールがアクティブになります。

参照

概念

スタイル シートの使用

その他の技術情報

特定のデバイスを対象とした ASP.NET モバイル Web コントロールのカスタマイズ