DropDownListFor and relating my lambda to my ViewModel
        Posted  
        
            by Daniel Harvey
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Daniel Harvey
        
        
        
        Published on 2010-05-23T14:31:07Z
        Indexed on 
            2010/05/23
            14:51 UTC
        
        
        Read the original article
        Hit count: 467
        
After googling for a while I'm still drawing a blank here. I'm trying to use a ViewModel to pull and provide a dictionary to a drop down list inside a strongly typed View:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="Notebook.ViewModels.CorporationJoinViewModel" %>
...
<%: Html.DropDownListFor(c => c.CorpDictionary.Keys, new SelectList(Model.CorpDictionary, "Value", "Key"))%>
I'm getting the error CS1061: 'object' does not contain a definition for 'CorpDictionary' and no extension method 'CorpDictionary' accepting a first argument of type 'object' could be found
and the relevant bit of my ViewModel
   public class CorporationJoinViewModel
    {
        DB _db = new DB(); // data context
        public Dictionary<int, string> CorpDictionary
        {
            get
            {
                Dictionary<int, string> corporations = new Dictionary<int, string>();
                int x = 0;
                foreach (Corporation corp in _db.Corporations)
                {
                    corporations.Add(x, corp.name);
                }
                return corporations;
            }
        }
I'll admit i have a pretty magical understanding of how linq is finding my ViewModel object from that lambda, and the error message is making me think it's not. Is my problem the method I'm using to pass the data? What am I missing here?
© Stack Overflow or respective owner