好的,我的標題沒有幫助。但閱讀帖子,你會明白。如何更改過濾器和外鍵列在DynamicData站點中的呈現方式?
我想要做什麼:
想象我有一個傳單表,在我的SQL Server 2列:
- FlyerID(INT)(PK)
- FlyerDate(SMALLDATETIME)
FlyerID是其他表上的外鍵,例如Store表。商店有3列:
- STOREID(INT)(PK)
- 名稱(NVARCHAR)
- FlyerID(INT)與 傳單表(FK)關係
現在,在DynamicData網站,我將有商店頁面和傳單頁面。我想用我的自定義格式顯示FlyerDate。例如,格式爲MMM-dd-yyyy。
在傳單頁面中,我遵循教程視頻所執行的方式:asp.net/learn/3.5-SP1/video-291.aspx
完美地工作,顯示FlyerDate列的自定義格式。
但是,在商店頁面上,傳單列值(它們是超鏈接)不會以我的自定義格式顯示日期。另外,在過濾器(下拉列表)中不顯示自定義格式。
建議的失敗解決方案:http://ericphan.info/development/asp-net-dynamic-data-display-custom-text-in-a-foreign-key-dropdownlist-combobox給出錯誤「爲該表指定的顯示列'DisplayDate'不存在。」
.Net Framework 4.0測試版和實體框架。
[DisplayColumn("DisplayDate", "FlyerDate", true)]
[MetadataType(typeof(FlyerMetadata))]
public partial class Flyer
{
[ScaffoldColumn(true)]
public string DisplayDate
{
get { return this.FlyerDate.ToString("MMM-dd-yyyy"); }
}
}
public class FlyerMetadata
{
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MMM-dd-yyyy}")]
public DateTime FlyerDate { get; set; }
}