1

Visual Studio の HTML でサーバー側のコントロールを直接宣言すると、常に問題が発生することを私は知っています。通常、コード ビハインドでページを生成してコード経由でアクセスできるようにするには、ページをデザイン モードで開く必要があります。しかし、ここで奇妙な問題があります。マスター ページを継承するページに asp:Label コントロールを追加しました。

<asp:Label ID="uxEnteteresultat" runat="server" Text="Test"></asp:Label>

これらのページは、コードExt.Netを生成するという名前のフレームワークを使用しExt.jsます。私のデザイナーは単に機能しないので、コードビハインド ファイルでこのコントロールを生成する方法はありません。

そして、それらのコントロールはどこで宣言されていますか??? .Net の古いバージョン (私は 4.0 フレームワークを使用して VS 2010 にいます) では、部分クラスでそれを見ることができました。彼らは今どこにいますか?VS 2010 でコントロールを自分で宣言する回避策はありますか?

ありがとう !


designer.cs ファイルはまったくありません。プロジェクトではなく、ウェブサイトです。それは問題の一部かもしれません...

4

3 に答える 3

3

VS 2010では、各フォームに次の 3 つの部分が必要です。

  • MyForm.aspx
  • MyForm.aspx.cs
  • MyForm.aspx.designer.cs

次のようにラベルを追加できるはずです。

これを に追加MyForm.aspx:

<asp:Label ID="lblOrganizer" runat="server" /> 

MyForm.aspx.designer.csこれを( 内にpublic partial class)追加します。

protected global::System.Web.UI.WebControls.Label lblOrganizer;
于 2012-09-24T16:32:25.057 に答える
1

mypage.aspxページ内で宣言されたコントロールは、 mypage.aspx.designer.cs内の部分クラスで作成されます。

/// <summary>
/// uxEnteteresultat control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label uxEnteteresultat;

コントロールがこのファイルで宣言されていない場合、分離コード mypage.aspx.csには表示されません。すべてのコントロールは、HTML での宣言にプロパティ runat = "server" を持つ必要があることに注意してください。

于 2012-09-24T16:42:09.043 に答える
0

この同様の質問を確認してください:

コード ビハインドで Asp.net コントロールにアクセスできない

ASP.NET 2.0 (部分クラス) 以降、コード ビハインドでコントロールを明示的に宣言する必要がないため、インテリセンスを取得している場合は問題ありません。アクセスできない場合は、デザイナー ファイルを確認し、user1694951 ごとに手動で追加してください。

于 2012-09-24T16:39:14.427 に答える