当前位置 : 主页 > 网络编程 > ASP >

在ASP.Net动态数据中使用Computed Property作为DisplayColumn?

来源:互联网 收集:自由互联 发布时间:2021-06-24
我试图在asp.net动态数据站点中显示“软件版本”表. Release表的内部版本号存储为三个int字段(Major,Minor,Build).我正在使用EntityFramework,所以我有一个绑定到我的数据库模式的EF模型.在我的动
我试图在asp.net动态数据站点中显示“软件版本”表. Release表的内部版本号存储为三个int字段(Major,Minor,Build).我正在使用EntityFramework,所以我有一个绑定到我的数据库模式的EF模型.在我的动态数据站点中,我希望构建号显示为单个字段(Major.Minor.Build),无论何处显示Release对象(特别是当它在相关对象的页面上显示为外键时).由于此“计算列”不是我的数据库中的字段,因此似乎无法使动态数据识别或显示它.我可以向Release对象添加一个属性(因为它是由EF生成的部分类),但Dynamic-Data将无法识别它,因为它不是“列”.我想将Release编辑为三个单独的字段(主要,次要,构建),但是当它显示时,我希望它显示为单个字段. DynamicData框架似乎不支持复合字段,如果它们不在EF模型中,它将不会显示/绑定到对象上的属性.如何将格式化版本号属性设置为默认显示值? 我不确定您是否绑定到从数据库返回的DataTable / DataSet,或者您是否绑定到Release对象本身.也不是哪种控制.

如果要绑定到DataSet / DataTable,只需更改SQL以将版本作为一个字段返回:

SELECT table1.Major + '.' + table1.Minor + '.' + table1.Build AS Version ....

但是,如果你绑定一个对象,比如一个DropDownList,我认为如果你重写ToString方法,它将成为DropDownList中的Display值:

Public Overrides Function ToString() As String
    Return _major.ToString & '.' & _minor.ToString & '.' & _build.ToString
End Sub
网友评论