gpt4 book ai didi

c# - 一个页面只能有一个服务器端表单标签

转载 作者:太空宇宙 更新时间:2023-11-03 22:12:55 25 4
gpt4 key购买 nike

我已阅读其他结果,但没有针对我的问题的具体内容。

我意识到有两个带有 runat="server"的表单标签不起作用。我的问题是我需要母版页文件中的一个表单来处理菜单等,而我的应用程序的“子”页面也需要一个表单标签来处理其操作。

我已尝试删除“子”页面中的表单标签,但代码隐藏看不到我在母版页中使用表单标签。因此,编译失败(“名称‘form1’在当前上下文中不存在”)

我怎样才能使母版页中的菜单保持正常工作,同时防止我的“子”页面在编译时出错?

最佳答案

如果您采取从所有子页面中删除所有表单标签的方式(我建议这样做),您可以将对母版页的表单标签的引用添加为子页面可以访问的属性。下面是母版页代码:

public HtmlForm form1 {
get { return this.form1; }
}

然后你可以从子页面引用:

public void MyMethod() {
HtmlForm theForm = ((MyMasterPageType)this.Master).form1;
theForm.Controls.Add(...);
}

如果您在子页面中设置 MasterPageType,则可以使用 this.Master.form1 引用目录(将其添加到子页面的标记页面):

<%@ MasterType TypeName="MyMasterPageType" %>

关于c# - 一个页面只能有一个服务器端表单标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6022654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com