Sto semplicemente estendendo un po 'il mio this question.Come localizzare i contenuti provenienti da @ Html.LabelFor() in mvc3
Ho il mio App_LocalResources nella mia applicazione Web MVC (non ce l'ho in dll separata).
Ho un mio modello in assemblaggio diverso. Nel Modello ho 2 classi Country
e City
:
public class Country: MyContainer
{
public City city {get;set;}
}
public class City
{
public CityName {get;set;}
}
public class MyContainer
{
public Cid {get;set;}
}
Così nel mio metodo di azione che creare e trasferire un oggetto di paese come il mio ViewModel.
E nella visualizzazione Io uso questo:
@Html.LabelFor(mdl=>mdl.City.CityName)
@Html.LabelFor(mdl=>mdl.Cid)
Quindi questo funziona bene e l'etichetta con testo siano resi in inglese.
Ma come si modifica questo in modo che legga il testo dai miei file di risorse nella mia applicazione Web?
Grazie Darin per la tua risposta, ho preso quel pezzo di codice. Ma il problema ora è che le mie classi Country, City e MyContainer si trovano in un progetto diverso (chiamato Location.Model). E il mio file di risorse è nel mio progetto di applicazione web mvc3. The Location.Model mi sembra un codice generato automaticamente, coz nei file cs theres comment " // Questo codice è stato generato da un modello." Auto-generato> e ha anche qualche file .tt dentro. Quindi, per favore aiutami a capire dove e come faccio i cambiamenti. Ho bisogno di separare il mio progetto Risorse ... per favore aiuto .. –
thinkmmk
@thinkmmk, non dovresti passare usare i modelli generati automaticamente alle tue visualizzazioni. Suppongo che sia un modello di dominio autogenerato EF. È sempre necessario definire i modelli di vista che sono classi progettate specificamente per una determinata vista. –
Ho capito il motivo, ma questo progetto sembra abbastanza complesso e vasto. Quindi, come ho bisogno di andare avanti con le modifiche minime da apportare. Devo creare un nuovo oggetto di una nuova classe e passarlo come modello? Ma la cosa è che creerà una classe duplicata. – thinkmmk