元の問題:
.aspx Webフォームファイルにコントロールを追加して保存すると、デザイナーコードが適切に更新されません。したがって、私のコードビハインドファイルは、私が伝えていた変数を見つけることができませんでした。
私がやろうとしたことはうまくいきませんでした:
aspxファイルをWebフォームに変換します。テキストを内部に保存しますが、ソリューション内のファイルを削除して再追加し、コードを再追加します。VSを閉じて開きます。
私が試したことはうまくいきました:
ソリューション内のファイルを削除して、再度追加します。テキストを少しずつ読み取ります。
問題の経験的な原因は、aspx.csファイルの背後にあるコードにありました。privateconst string RECORDSPERPAGE = "RecordsPerPage";
この変数の追加後の任意の時点(このブロックに表示)...
public部分クラスRequestSearch:ProtectedPage {private const string TOTALPAGES = "TotalPages"; private const string CURRENTPAGEINDEX = "CurrentPageIndex"; private const string RECORDSPERPAGE = "RecordsPerPage";
...コントロールがaspxファイルに追加された場合、デザイナーコードは適切に更新されず、背後のコードは、これに類似した、その後に追加されたコントロールを認識できませんでした...
この文字列定数の名前をRESULTSPERPAGEに変更しました。その後、すべてがうまくいきました。
だから私の問題は解決したようですが、理由はわかりません。RECORDSPERPAGEは、そのファイル以外では宣言されていません。どこでも使用されていませんが、デザイナー生成の問題を引き起こさない、示されている他のプライベート文字列定数と同様の方法で使用されています。
誰かがこの種の動作を可能にするVisualStudioの魔法についての知識を持っているか、問題の根本的な原因をよりよく理解するために私が見るかもしれない他の場所に私に警告することを願っています。