Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 在FormView模板中使用用户控件_Asp.net_Formview - Fatal编程技术网

Asp.net 在FormView模板中使用用户控件

Asp.net 在FormView模板中使用用户控件,asp.net,formview,Asp.net,Formview,我发现FormView的每个EditItemTemplate、InsertItemTemplate和ItemTemplate模板的控件集的重复都是乏味和危险的,因为它们会复制布局和代码等。我更愿意创建一个xxxDetails用户控件,并在每个模板中使用它,将布局和代码位置切割到一个位置 但是,这给数据绑定场景带来了一些复杂性。在这些场景中使用用户控件是否有现成的模式或实践指南?Microsoft刚刚在ASP.NET 4.0中添加了非常好的支持。它被称为动态CDATA。他们在所有名为EnableD

我发现FormView的每个EditItemTemplate、InsertItemTemplate和ItemTemplate模板的控件集的重复都是乏味和危险的,因为它们会复制布局和代码等。我更愿意创建一个xxxDetails用户控件,并在每个模板中使用它,将布局和代码位置切割到一个位置


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

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

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

这是我准备的一个样品。我用了一个滑块来编辑整数,还有货币输入等等


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

我喜欢动态数据,它在ASP.NET 4.0之前就已经存在,但它不能解决我的问题。你说的是页面模板,我说的是可能在页面模板上使用的FormView模板。不,我说的是在FormView项目中使用的模板。这是ASP.NET 4.0中添加的新WebForms功能。这不是您在3.5(即页面模板)中想到的DynamicATA。请运行示例以了解我的建议。您可以在Web应用程序项目和网站项目中使用它!我想你会发现它真的很有用。它的唯一目的是解决您提出的问题,即复制和粘贴过多以及滥用TemplateItems过多。