【问题标题】:How to create a custom property editor in asp.net (web forms)如何在 asp.net(Web 表单)中创建自定义属性编辑器
【发布时间】:2011-05-09 14:00:56
【问题描述】:

假设我们在 db 中有这个结构,几乎没有属性。所有属性、它们的名称、默认值、描述和类型(字符串、整数、日期时间)都定义在一个表(attributeDefinition)中,所有值都存储在另一个表中。

Cars (Id, Name)

AttributeDefinition(AttributeDefinitionId, Type, Name, Desctiption, MaxValue, ...)

AttributesValues (AttributeDefinitionId, CarId, Value)

现在我想为 Cars 属性创建一个通用编辑器。

问题是,我应该如何实现它?是否有一些内置控件可以处理这个问题,是否有其他类似的东西在做?

或者我应该这样去:

// In MyPropertyEditor.ascx load
// Iterate over all attributes in attributedefinition
//    add TextBox, NumberEditor or DateTimePicker, 
//    give them som good names
// End
//
// In Save, iterate over all controls again, and save back

我的方向正确吗?

我在考虑数据网格,以及它如何动态创建所有列。我希望我能做类似的事情吗?

感谢您的帮助

问候

拉西

【问题讨论】:

  • 我不认为有一个控件会自动为您执行此操作,您最好的选择是使用带有动态 sql 的存储过程(请记住使用带参数的 sp_excecutesql 以防止 sql 注入)或者您将不得不在代码中创建自己的数据表,看起来不会超过 10 分钟左右?

标签: asp.net user-controls webforms


【解决方案1】:

您是在谈论 Visual Studio 内部的支持吗?如果你是:

以下是一些处理此问题的选项:http://msdn.microsoft.com/en-us/magazine/cc164048.aspx 在其最简单的形式中,设置 TypeConverter 即可完成工作,但如果您想要自定义 UI 表单,则必须考虑创建自定义编辑器。

如果不是,但在谈论用于构建网站的 UI 时,您可以考虑动态数据,因为这就是它的意义所在 - 一种为您的数据及其关系构建 UI 的快速简便方法。即使在 Web 表单项目中,您也可能会使用一些组件...

HTH。

【讨论】:

    猜你喜欢
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-13
    • 2011-11-23
    • 2019-09-11
    相关资源
    最近更新 更多