Penso che tu abbia frainteso un po 'il pattern MVC.
Uno degli scopi del pattern MVC è dividere la tua applicazione in "layers".
- Il modello --layer che contiene "dati"
- Lo Visualizza --layer che rappresenta i "dati" (il Modello)
- Il Controller --layer che gestisce l'input dell'utente e modifica i "dati" (il Modello)
Il modello non dice alla vista come devono essere presentati i dati.
Visualizza interpreta il Modello e presenta i dati.
Ciò significa che il Modello potrebbe contenere informazioni su come i dati possono essere presentati utilizzando proprietà o campi. Ma alla fine spetta a Visualizza .
Nel tuo caso (per esempio) puoi aggiungere la proprietà - Model.DisplayFooName
. Ma questo di per sé non cambierà il modo in cui il tuo Visualizza appare perché la Vista non è stata alterata. Il tuo modello ha una nuova proprietà lucida che la tua vista può utilizzare per modificare il modo in cui vengono presentati i dati nel tuo modello . In sostanza il modello è impotente quando si tratta di Visualizza . La tua vista decide in che modo il modello -data deve essere presentato e non puoi apportare modifiche solo al tuo modello , per cambiare il modo in cui i dati sono presentati in Visualizza .
TL; DR:
In definitiva, le modifiche al tuo modello non possono cambiare il modo in cui Visualizza decide di presentare i dati al suo interno.
Per affrontare il problema attuale:
Se disponi di un'impostazione globale per alternare la visualizzazione di FooName
, puoi creare un HtmlHelper
per accelerare il processo di attivazione. Invece di dover scrivere qualcosa come ...:
if (GlobalSettings.DisplayFooName)
{
<strong>@Model.FooName</strong>
}
... ogni volta che vuoi attivarlo,
puoi creare un helper che ti permetta di scrivere semplicemente
@Html.PrintFooName(Model.FooName)
O anche ..:
@Html.PrintFooName()
... poiché HtmlHelper
contiene i dati del modello.
Questo potrebbe essere velocizzato usando Trova & Sostituire.