1

我知道在 Visual Studio 中直接在 HTML 中声明服务器端控件总是存在问题。通常,您必须在设计模式下打开页面,以便在后面的代码中生成它们,以便您可以通过代码进行访问。但我确实有一个奇怪的问题。我在继承母版页的页面上添加了一个 asp:Label 控件。

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

这些页面使用名为Ext.Net生成Ext.js代码的框架。我的设计器根本不起作用,所以我无法在代码隐藏文件中生成此控件。

这些控件在哪里声明???在旧版本的 .Net 中(我在 VS 2010 中使用 4.0 框架),我们可以在部分类中看到它。他们现在在哪里 ?是否有一种解决方法可以在 VS 2010 中自己声明您的控件?

谢谢 !


根本没有designer.cs 文件。这是一个网站,而不是一个项目。这可能是问题的一部分...

4

3 回答 3

3

VS 2010中,每个表单应该包含三个部分:

  • 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 回答