我知道在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文件。这是一个网站,而不是一个项目。这可能是问题的一部分......
答案 0 :(得分: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;
答案 1 :(得分: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”。
答案 2 :(得分:0)
检查这个类似的问题:
Asp.net controls are not accessible in code behind
如果你正在获得intellisense,那么你很好,因为你不必在ASP.NET 2.0(部分类)之后在代码隐藏中显式声明你的控件。如果您无法访问它,请检查您的设计器文件并手动将其添加到那里 user1694951。