2013-07-01 4 views
0

Je ne sais pas comment créer des fonctions pour récupérer les valeurs.récupérer les valeurs du modèle dans mvc2

* Tableau 1: OrgVasplans *

-Id

-vasplanId

-OrgId

-CreatedDate

Tableau 2: vasplans

-Id

-nom

-Montant

-validity

-vasdurationId

Tableau 3: VasDuration

Id

Durée.

Ce sont mes tables ..

Je contrôleur nommé Candidatesvas et méthode d'action de VasDetails ....

je l'ai déjà mis en mémoire les valeurs dans vasPlans TABLEAU.

lorsque je clique en vue « Détails » lien, il aller à la page de détails ..

Ensuite, les valeurs sont de récupérer « Orgvasplans » la table automatiquement sans entrer dans une entrée ..

Comment créer des méthodes pour cela ....

J'ai créé quelques méthodes mais la méthode ne contient que le nom "champ". Je veux récupérer plusieurs valeurs comme "Montant", "validité" comme ça .....

Repository:

public IQueryable<VasPlan> GetVasPlans() 
    { 
     return from vasplan in _db.VasPlans 
       orderby vasplan.Name ascending 
       select vasplan; 
    } 


    public OrgVasPlan GetOrgVasPlan(int id) 
    { 
     return _db.OrgVasPlans.SingleOrDefault(v => v.Id == id); 
    } 

    public int AddOrgVasPlan(OrgVasPlan orgvasplan) 
    { 
     _db.OrgVasPlans.AddObject(orgvasplan); 
     Save(); 
     return orgvasplan.Id; 
    } 

    public void AddVasPlan(VasPlan vasPlan) 
    { 
     _db.VasPlans.AddObject(vasPlan); 
    } 

Contrôleur

public ActionResult VasDetails(FormCollection collection) 
    { 
     OrgVasPlan orgvasplan = new OrgVasPlan(); 
     orgvasplan.CreatedDate = DateTime.Now; 
     orgvasplan.OrgId = LoggedInOrganization.Id; 
     orgvasplan.vasplanId=?????????????? 

     VasPlan vasplan = new VasPlan(); 
     //if (!string.IsNullOrEmpty(collection["Name"])) ; 

     _repository.AddOrgVasPlan(orgvasplan); 
     _repository.Save();    
     return View(); 
    } 

Ici, je n » t savoir comment mettre du code ici pour obtenir des valeurs multiples formulaire vasplans table comme (montant, nom, validité etc ...,) c'est mon problème ...

Répondre

0

Rendez votre vue fortement typée, assurez-vous de créer des éléments d'entrée dont les noms correspondent aux propriétés du modèle (ou utilisez des aides HTML, par ex.Html.TextBoxFor(model => model.Amount). De cette façon MVC remplira automatiquement le modèle pour vous quand l'action qui devrait prendre le modèle comme argument, est invoquée.

Par exemple, votre action doit être

public ActionResult NewVasPlan(VasPlan vplan) 
{ 
    //check model state 
    //save or return error messages 
} 

Ou vous pouvez simplement ajouter chaîne et paramètres int à l'action comme ceci:

public ActionResult NewVasPlan(string name, int amount /*, etc*/) 
{ 
    //MVC will also automatically fill name, amount, from request POST or GET params 
    //(or cookies??) 
} 

Hope this helps, dites-moi si vous avez besoin de plus info ou si j'ai mal compris votre question.

+0

en fait je veux savoir, orderby vasplan.Name ascendant // ici il commande seulement le nom ... pas d'autres champs. donc je ne sais pas comment créer une méthode ici ... – Duk

+0

Parlez-vous d'une déclaration Linq? – Mzn

+0

oui..Je met à jour ma question ce que je fais maintenant .. J'espère que vous pouvez comprendre .. – Duk

Questions connexes