【发布时间】:2010-11-13 21:43:46
【问题描述】:
...它根本不起作用。我已经尝试了好几天,使用了各种不同的 frick'n 组合,它不会让步。
肯定有一些人似乎在写博客来轻松解决这类事情而没有看到一个问题,说“我们都知道你可以通过......显示扩展 EF 类的公共属性”和“如果你想扩展你的数据模型来显示一个计算字段,只需......” - 对我来说不是那么简单 - 啊啊啊啊!!!
因此,根据所有典型示例,我的 EF 部分类如下所示:
[DisplayColumn("Name")]
[MetadataType(typeof(SaleProduct_Metadata))]
public partial class SaleProduct
{
public string Test
{
get
{
return "blah";
}
}
public class SaleProduct_Metadata
{
[ScaffoldColumn(true)]
public string Test;
}
}
我的 global.asax 看起来像这样:
MetaModel model = new MetaModel();
model.RegisterContext(typeof(Sale.Models.SaleEntities), new ContextConfiguration() { ScaffoldAllTables = true });
routes.Add(new DynamicDataRoute("DD/{table}/{action}.aspx")
{
Constraints = new RouteValueDictionary(new { action = "List|Details|Edit|Insert" }),
Model = model
});
我的 List.aspx.cs 看起来像这样:
public partial class List : System.Web.UI.Page
{
protected MetaTable table;
protected void Page_Init(object sender, EventArgs e)
{
//DynamicDataManager1.RegisterControl(GridView1, true /*setSelectionFromUrl*/);
table = GridDataSource.GetTable();
DynamicDataManager1.RegisterControl(GridView1, true /*setSelectionFromUrl*/);
GridView1.ColumnsGenerator = new AdvancedFieldGenerator(table, true);
}
protected void Page_Load(object sender, EventArgs e)
{
table = GridDataSource.GetTable();
Title = table.DisplayName;
GridDataSource.Include = table.ForeignKeyColumnsNames;
InsertHyperLink.NavigateUrl = table.GetActionPath(PageAction.Insert);
// Disable various options if the table is readonly
if (table.IsReadOnly)
{
GridView1.Columns[0].Visible = false;
InsertHyperLink.Visible = false;
}
}
protected void OnFilterSelectedIndexChanged(object sender, EventArgs e)
{
GridView1.PageIndex = 0;
}
}
...我正在使用动态数据期货的一个版本来获得列排序、更好的验证等功能,这些功能运行良好。对(例如)List.aspx.cs(如上所示)进行了一些调整,并更改了日期格式,以便新西兰风格的日期在我的美国网络服务器上工作。除此之外,一切都很标准,AFAIK。
我的 EF 模型位于一个单独的程序集中,并且(显然)使用部分类扩展了一些实体。我只想展示两个经过计算的血腥领域,但根本没有成功。我觉得我是一个新的程序员,我的头撞在砖墙上——旧的把戏都不管用。编程不应该这么难:-(
有人,任何人,请帮忙!!
伯纳德。
【问题讨论】:
-
如果你在这里没有得到一口...试试 asp.net 动态数据论坛...那里的一个家伙很了不起并回复了 DD 帖子...
标签: entity-framework metadata dynamic-data scaffolding public-fields