2010-07-16 22 views
2

如果我正確理解了[ScaffoldColumn(false)]屬性,我應該可以用此裝飾變量,然後在創建強類型編輯視圖,該字段將顯示爲隱藏文本,而不是標籤/文本框對。在VS2010中生成MVC 2時未檢測到ScaffoldColumn(false)

我使用實體框架,然後加入部分類具有內元數據類,如下所示:

[MetadataType(typeof(AlumniInterest_Metadata))] 
public partial class AlumniInterest 
{ 
    private class AlumniInterest_Metadata 
    { 

     [ScaffoldColumn(false)] 
     [DisplayName("Person Id")] 
     [StringLength(8)] 
     public object person_id { get; set; } 

     [DisplayName("Interest")] 
     [StringLength(35)] 
     public string interest_desc { get; set; } 
    } 
} 

這種部分是在相同的命名空間EF生成的類和顯示名稱屬性是被拾起所以我認爲事情是正確的。我嘗試將字符串的類型更改爲對象(基於某些谷歌搜索結果),但沒有做任何事情。

其他人遇到這個問題?我做了一個newb錯誤?

回答

2

的MVC工具不推理ScaffoldColumnAttribute。當你調用Html.DisplayForModelHtml.EditorForModel方法此屬性纔會被使用。

如果您想要添加視圖對話框來承認ScaffoldColumnAttribute,您可以編輯用於生成視圖的T4模板文件。

+0

謝謝你的答案 – indyDean 2010-07-19 13:04:27

2

[ScaffoldColumn(false)]似乎沒有像預期的那樣工作。您需要在您的視圖中手動設置

Html.HiddenFor(model => model.person_id)