2010-01-27 8 views
1

Je suis en train de refactoriser nos contrôleurs désordonnés. Nous avons beaucoup de SelectLists dans nos contrôleurs. Je veux un moyen de faciliter la maintenance de notre base de code. Quelle serait une bonne solution une méthode d'usine, une interface ou une classe de base? Nous avons beaucoup de ces méthodes flottant autour de notre code.Asp.Net MVC SelectList Question de refactorisation?

private SelectList getRateContract(IEnumerable items) 
    { 
     return new SelectList(items, Resources.RSINET.RateContractID, Resources.RSINET.ContractName); 
    } 

Répondre

1

Pour commencer, si elles se trouvent dans le contrôleur, ces méthodes doivent au moins être décorées avec l'attribut NonAction. À mon avis, la création de SelectList serait faite dans le modèle de vue, mais tout le monde n'utilise pas les modèles de la même manière (je sais que Microsoft ne le fait pas). Vous devriez probablement avoir un appel à votre modèle qui crée cette liste de sélection. De cette façon, le contrôleur reste dans ... eh bien, le contrôle du flux de l'application, et le modèle fait son travail de contenir les données.

+0

J'ai utilisé une liste de sélection de typesafe générique à ajouter avec mes problèmes. – user154366