ASP.NET aspxを修正してもdesignerに反映されないときの対処法
ASP.NET
でaspx
ファイルにコントロールを追加しても、コードビハインドでそのコントロールが参照できずにエラーになってしまう場合があります。
WebForm1.aspx
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
WebForm1.aspx.vb
TextBox1.Text = "foo" 'エラーになる
原因はよくわかりませんが、WebForm1.aspx.designer.vb
に反映されていないため、参照できずにエラーになってしまいます。
本来はWebForm1.aspx.designer.vb
ファイルはWebForm1.aspx
に応じて自動生成されるのですが、なんらかの原因によって自動生成ができていないことが考えられます。
対処法
以下のようにデザイナファイルの先頭に定義されている箇所を変更すると反映されるようになることが多いです。
変更といっても、修正前と値を変更する必要はなく、閉じタグ(%>
)を消してから元に戻すといった操作を行うだけで問題ありません。
WebForm1.aspx
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="Form1.aspx.vb" Inherits="TEST.Form1" %>
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="Form1.aspx.vb" Inherits="TEST.Form1"
上記の方法でもうまく行かない場合はVisual Studio
を一度閉じてから開きなおすとうまく行くこともあります。