2

新しいコントロールを aspx ページに追加した後、デザイナー ファイルでコントロール定義が作成されないという問題が時々発生します。つまり、コード ビハインドで未定義です。ソースに新しいコントロールを入力するか、ツールボックスからドラッグ アンド ドロップしても、デザイナーは更新されません。ページにエラーや警告はありません。

これまでのところ、ネストされたマスター ページを使用する aspx ページでしか見たことがありません。このエラーが aspx ページで発生していると同時に、デザイナーの更新はユーザー コントロールで機能します。

ソース ビューからデザイン ビューへの切り替え、保存、プロジェクトの再読み込み、Visual Studio の再起動などの通常のトリックは機能しません。デザイナー ファイルへの書き込み権限があります。

インストールした拡張機能の組み合わせである可能性があると思いましたが、すべての拡張機能を無効にしても役に立ちません。拡張機能を実際にアンインストールするのは気が進まないので、無効にすると読み込みが停止するはずです。

プロジェクトは既に Web アプリケーションであるため、「Web アプリケーションに変換」を試みたくありません。これは、問題のあるページだけでなく、プロジェクト内のすべてのページに影響を与える可能性があります。

デザイナー ファイルを手動で編集する必要がありました。これまでのところ、問題は発生していませんが、苦痛です。単一のデザイナー ファイルの再生成を可能にする拡張機能、またはこれを解決するための KB、修正、またはその他の方法を知っている人はいますか?

.Net Framework 3.5 をターゲットとする Visual Studio 2010、C# のコード ビハインド

4

2 に答える 2

3

ここで同じ問題が発生しました。デザイナー ファイルを削除してから、「Web アプリケーションに変換」を実行しました。デザイナー ファイルは、プロジェクト内で他に何も変更せずに再作成されました。aspxページを右クリックして「 Web アプリケーションに変換」メニュー オプション。

于 2012-08-22T17:14:48.180 に答える
2

私はちょうど同じ問題を抱えていて、ウェブで修正を検索した後、通常のトリックはどれもうまくいきませんでした. 最終的に、追加しようとしていたコントロールが既存のカスタム コントロール内にあることがわかりました。

たとえば、独自のユーザー パスワード取得セクションを作成していましたが (パスワードを忘れた場合)、既存のセクション内で作成を開始しました。

<asp.Login>

タグ。私のコントロールはログイン コンテンツ テンプレートの一部ではなく、asp.net がそれらを無視していたと思います。

これが発生しても、エラーは表示されず、IntelliSense の警告もありません。あなたのコントロールはコードビハインドでは利用できません。それらをデザイナーに手動で追加すると、次回の再生成時に失われます。それらを .cs ファイルで宣言しても、オブジェクト参照が設定されていないというエラーになります。

あまりにも長い間それに取り組んでいて、ばかげた間違いを犯したときに注意すべきこと. 他の場所でカバーされていないように見えるので、この救済策を追加する必要があると思いました.

于 2013-02-15T23:07:14.303 に答える