gpt4 book ai didi

c# - 当控件位于 ItemTemplate 中时,.Net designer.cs 未更新

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

我有一个简单的表格。假设一个文本框和一个按钮。

如果将这些项目放在 aspx 页面上,它们会自动添加到 *.designer.cs 文件中,并且可以在我后面的 C# 代码中引用它们。就像它应该的那样。

当我将这些项目放在 FormView 控件中时,就会出现问题。那时它们的所有痕迹都从 designer.cs 文件中删除,使用这些控件编写的任何代码现在都会出现“在当前上下文中不存在”错误。 FormView 控件本身留在后面的设计器代码中。如果我重新添加它们,它们将不会粘住。如果我删除 designer.cs 并让它重新制作,它只会在没有控件的情况下重新制作。

有什么线索吗?

最佳答案

如果您只处理 1 个 EditItemTemplate(或任何模板),另一种方法是从 FormView 继承并覆盖设置 TemplateInstance attributeTemplateInstance.Single .像这样:

public class FormView : System.Web.UI.WebControls.FormView
{
[Browsable(false),
DefaultValue((string)null),
PersistenceMode(PersistenceMode.InnerProperty),
TemplateContainer(typeof(FormView), BindingDirection.TwoWay),
TemplateInstance(TemplateInstance.Single)]
public override ITemplate EditItemTemplate
{
get { return base.EditItemTemplate; }
set { base.EditItemTemplate = value; }
}
}

如果您在页面中使用该 FormView 控件,EditItemTemplate 中的控件将出现在您的设计器中,并且也可以在代码隐藏中直接访问。

关于c# - 当控件位于 ItemTemplate 中时,.Net designer.cs 未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2241244/

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