【问题标题】:Using User Controls in FormView templates在 FormView 模板中使用用户控件
【发布时间】:2010-04-24 12:49:07
【问题描述】:

我发现为 FormView 的每个 EditItemTemplate、InsertItemTemplate 和 ItemTemplate 模板重复一组控件既繁琐又冒险,就复制布局和代码等而言。我更愿意创建一个 xxxDetails 用户控件,并且在每个模板中使用它,将布局和代码位置缩减到一个位置。

但是,这为数据绑定方案带来了一些复杂性。是否有在这些场景中使用用户控件的具体模式或实践指南?

【问题讨论】:

    标签: asp.net formview


    【解决方案1】:

    Microsoft 刚刚在 ASP.NET 4.0 中添加了对此非常好的支持。它被称为动态数据。他们在名为EnableDynamicData(type) 的所有数据控件上添加了方法。 ASP.NET 中包含默认模板,但您可以自己制作。

    要使用构建的自定义模板,只需在您的文件夹中添加一个 DynamicData/Templates 目录。在其中,您可以为所有数据类型添加类型视图插入和编辑模板。默认模板内置了验证器,因此它们是一个很好的起点!

    这是我为using custom controls in DynamicData templates 整理的示例。我用滑块来编辑整数,用 CurrencyInput 来编辑钱等等……

    如果您可以使用 ASP.NET 4.0,我强烈建议您这样做。此外,即使您不能,您仍可能希望使用预先构建的模板作为指导。

    【讨论】:

    • 我喜欢动态数据,它在 ASP.NET 4.0 之前就已经存在,但它并没有解决我的问题。你说的是页面模板,我说的是可能用​​于页面模板的 FormView 模板。
    • 不,我说的是 FormView 项目中使用的模板。这是 ASP.NET 4.0 中添加的新 WebForms 功能。这不是您从 3.5 考虑的 DynamicData(即页面模板)。请运行示例以查看我的建议。您可以在 Web 应用程序项目和网站项目中使用它!我想你会发现它真的很有用。它的唯一目的是解决您提出的过多复制和粘贴以及过多滥用 TemplateItems 的问题。
    猜你喜欢
    • 2013-05-28
    • 1970-01-01
    • 2013-09-22
    • 1970-01-01
    • 2010-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-27
    相关资源
    最近更新 更多