从poco对象生成表单

时间:2009-03-20 08:33:50

标签: asp.net

假设你有一个配置对象

public class MyConfig{
 public int PageSize{get;set;}
 public string Title{get;set;}
}

并且您希望自动生成一个asp.net表单来编辑此对象的属性。

您是否知道自动执行此操作的任何框架?

我知道MS动态数据,但似乎我需要整个堆栈(数据库,linq,对象)才能启动并运行。所以我想的更简单......

2 个答案:

答案 0 :(得分:2)

抱歉迟到了。有几种方法可以将动态数据与POCO一起使用。

  1. 使用动态数据的期货和预览版本中的DynamicObjectDataSource,从2008年7月期货开始。查看预览版时,它包含一个Futures程序集,Microsoft.Web.DynamicData.dll。

  2. 使用ASP.NET 4.0(现在处于Beta版)时,可以调用新的扩展方法EnableDynamicData()。请参阅DD Preview 4及更高版本附带的“SimpleDynamicDataSamples”项目。

  3. 以下是使用ObjectDataSource的代码和名为“Product”的POCO类的示例。                                                                                       

    [MetadataType(typeof(Product.Metadata))]
    public partial class Product {
        public class Metadata {
            [Required]
            public string ProductName { get; set; }
            [Range(0, 100)]
            public decimal UnitPrice { get; set; }
        }
    }
    
    public partial class ObjectDataSourceSample : System.Web.UI.Page {
        protected void Page_Init() {
            // Extension method syntax
            ProductsList.EnableDynamicData(typeof(Product));
    
            // Explicit syntax
            // MetaTable table = MetaTable.CreateTable(typeof(Product));
            // MetaTable.MapControl(ProductsList, table);
            // ProductsList.ColumnsGenerator = new DefaultAutoFieldGenerator(table);
        }
    }
    

答案 1 :(得分:1)

我的印象是您可以修改动态数据使用的T4模板(不确定是否可以删除数据访问部分)。

你有没有看过自己单独使用T4。