我有一个asp.net网页,我正在渲染一个用户控件。我需要在后面的用户控件代码中找到父页面表单标签名称。我的web项目在net 1.1中,我使用c#作为语言背后的代码。我怎么能这样做?
感谢。
答案 0 :(得分:0)
如果你至少使用.NET 2.0,那么应该工作:
您可以通过UserControl
- [{1}}的{{1}}属性从Page
获取该页面:
Control
您通过Page.Form
获得了Page page = this.Page;
:
Form
在您的情况下(ASP.NET 1.1),您需要为表单提供一个ID并将其设为System.Web.UI.HtmlControls.HtmlForm form = page.Form;
String formName = form.Name;
:
runat=server
Codebehind或designer.cs-file:
<form id="ServerForm" runat="server">
现在您可以通过ID在服务器端访问它:
然后,您可以访问HtmlForm
并使用它的protected System.Web.UI.HtmlControls.HtmlForm ServerForm;
属性:
Name
如果您需要从String formName = ServerForm.Name;
访问它,您可以在UserControl
中提供公共属性并将Page
转换为实际类型,那么您可以访问该属性:
this.Page
甚至更好,只需公开表单的名称:
public HtmlForm Form
{
get { return ServerForm; }
}