2010-08-02 3 views
0

Je suis un databinding radiobuttonlist avec une requête LINQ comme ceci:Databinding avec LINQ

var query = from m in Db.Udt_Menu 
    orderby m.Name 
    select m; 

    this.radMenuSelection.DataValueField = "menuID"; 
    this.radMenuSelection.DataTextField = "name"; 
    this.radMenuSelection.DataSource = query; 
    this.radMenuSelection.DataBind(); 

Cependant, quand je veux mettre à jour le dossier que je dois régler la selectedIndex du RadioButton à une valeur de la base de données . Il y a une table appelée udt_PageMenuSelection qui a une colonne appelée menuID qui est une clé étrangère à udt_Menu.menuID.

Lorsque je veux mettre à jour un enregistrement existant, comment puis-je définir l'index selected de la radiolist à la valeur égale à udt_PageMenuSelection.menuID?

Ai-je besoin de faire une requête supplémentaire?

Merci higgsy

+0

Qu'est-ce qui signifie quel menuID doit être sélectionné? Autrement dit, y a-t-il seulement une rangée dans votre udt? –

Répondre

0

Je pense que je comprends la structure, et oui il semble la meilleure façon de faire les choses; l'entité udt_Menu aurait une relation avec udt_PageMenuSelection en tant que relation un à plusieurs, et vous pourriez utiliser LoadWith <> pour les charger, mais c'est excessif car je pense que vous parlez de charger un enregistrement. Il serait préférable de l'interroger séparément.

HTH.