1

ASP.NET2.0Webフォームに次のHiddenFieldがあります。

<asp:HiddenField ID="HiddenModel" runat="server" 
OnValueChanged="HiddenModel_ValueChanged" />

私のコードビハインドは、このif..elseステートメントでHiddenModelを参照しています。

if (serial.Text.ToString() != "0")
{
CarpetMultiView.ActiveViewIndex = 1;
HiddenModel.Value = model.SelectedItem.Text.ToString();
LabelCurrent.Text = "Your Current Selection is :
Make-" + make.SelectedItem.Text.ToString() + " Model-" + 
model.SelectedItem.Text.ToString() + " S/N-" + serial.SelectedItem.Text.ToString();
Page.Title = make.SelectedItem.ToString() + " " + model.SelectedItem.ToString() + " " + 
serial.SelectedItem.ToString() + " " + "Carpet";
}

VWD 2005を使用してソリューションをデバッグすると、次のエラーが発生します。

The name 'HiddenModel' does not exist in the current context    

私の@Pageディレクティブは、codebehindクラスに一致するcarpet_templateを継承します。

public partial class carpet_template : System.Web.UI.Page

これらおよび他の同様のエラーを解決するにはどうすればよいですか?

4

3 に答える 3

1

以下のリンクから:「IISでテストしている場合は、VWDのWebサイトメニューに移動し、[開始オプション]をクリックして、左側のペインのツリーと[スタートアップページを実行する前に]というラベルの付いたドロップダウンリストで[ビルド]をクリックする必要があります。 「「ビルドなし」を選択します。

全文はこちら。

于 2011-12-29T23:11:17.933 に答える
0

コードがページのライフサイクルのコンテキストから外れていることを確認するのは困難ですが、asp.netはフィールドが現在存在することを単に受け入れないようです。

最も論理的な理由は、非表示フィールドがページのライフサイクルにまだ存在しないことです(ページのライフサイクルを参照)-ページが読み込まれる前、またはコントロールがレンダリングされる前にコードが実行されますか?

または、フォームに問題がある場合は、この動作が発生する可能性があります(たとえば、非表示フィールドがフォームタグ内にない場合)。

于 2011-12-29T22:39:20.107 に答える
0

同じファイルのすべてのバックアップコピーを削除します。それらのバックアップファイルを削除した後、同じフォルダに同じファイルのバックアップコピーがありました-ソリューションはエラーなしでコンパイルされています。

以下のリンクからこのソリューションを入手しました:[slash84]
http://forums.asp.net/post/3060379.aspx

于 2014-08-12T05:32:17.097 に答える