2011-03-25 137 views
0

我有一個自定義模式,像這樣查看未產生:基於模型的屬性

public class ViewModel 
{ 
    [DisplayName("Property One")] 
    string PropertyOne { get; set; } 

    [DisplayName("Property Two")] 
    string PropertyTwo { get; set; } 

    .... 
} 

當我創建基於此模型,我得到以下新的強類型的視圖:

<% using (Html.BeginForm()) {%> 
    <%= Html.ValidationSummary(true) %> 

    <fieldset> 
     <legend>Fields</legend> 

     <p> 
      <input type="submit" value="Create" /> 
     </p> 
    </fieldset> 

<% } %> 

如果我取出DisplayName屬性,它仍然不起作用。我還注意到,如果我更改模型並基於該模型重新創建視圖,則不會考慮新的更改。這幾乎就像VS在某個地方緩存模型一樣,要更新它的唯一方法是關閉/重新打開解決方案,然後創建視圖。

默認情況下創建的AccountModels.cs文件中的LogOnModel實際上是相同的(只有它具有較少的屬性),並且工作正常。我是否會以我定義模型的方式錯過某些東西?似乎無法弄清楚我在這裏做錯了什麼。

編輯

也注意到,以及如果我嘗試手動輸入查看標記例如我得到一個編譯器錯誤CS1061: 'MySite.Models.ViewModel' does not contain a definition for 'PropertyOne'

我現在要談論的結論是Visual Studio在這方面真的很麻煩。我在最新版本(9.0.30729.1 SP

回答

1

.....沒有等待,從頭開始。這是我的大腦,這是越野車,我複製和粘貼界面的屬性,以節省自己一些打字,只是注意到,我忘記將它們設置爲public

如果有人遇到同樣的問題,它會不會很明顯,並且花了我很長一段時間(我不得不在這裏張貼!)來弄清楚發生了什麼。