ASP.NET EditorTemplate DropdownList -


every time add new app creates new appcategory. screwing somehow

code first entity framework objects

public class appcategory {     public int id { get; set; }     public string name { get; set; }     public icollection<app> apps { get; set; } }  public class app  {     public int id { get; set; }     public string name { get; set; }     public appcategory category { get; set; } } 

editor template (i love make 1 foreign key editortemplate)

@inherits system.web.mvc.webviewpage @html.dropdownlist("category", lig2010redesignmvc3.models.repo.getappcategoriesselect()) 

and of course repository

    public static ienumerable<selectlistitem> getappcategoriesselect()     {         return (from p in getappcategories()                 select new selectlistitem                 {                     text = p.name,                     value = p.id.tostring(),                  });     }       public static icollection<appcategory> getappcategories()     {         var context = new ligdatacontext();         return context.appcategories.tolist();     } 

every time add new app creates new appcategory screwing somehow


adding more debug info

 @inherits system.web.mvc.webviewpage  @html.dropdownlist("", lig2010redesignmvc3.models.repo.getappcategoriesselect()) 

gives me validation message on post

 parameters  application/x-www-form-urlencoded  category   1  name   8 

validation error the value '1' invalid.
makes sense because category should object not integer.


controller code asked for pretty sure isnt problem came mvcscaffold

    [httppost]     public actionresult create(app d)     {         if (modelstate.isvalid)         {           context.apps.add(d);           context.savechanges();           return redirecttoaction("index");           }         return view();      } 

my model incorrectly set ... virtual icollection , foreign key id sub , worked... changes below

model

public class appcategory {     public int id { get; set; }     public string name { get; set; }     public **virtual** icollection<app> apps { get; set; } }  public class app  {     public int id { get; set; }     ********************************************     [uihint("appcategory")]     public int appcategoryid { get; set; }     ********************************************     public string name { get; set; }  }  public class ligdatacontext : dbcontext {     public dbset<appcategory> appcategories { get; set; }     public dbset<app> apps { get; set; }  } 

/views/shared/editortemplates/appcategory.cshtml

@inherits system.web.mvc.webviewpage @html.dropdownlist("", lig2010redesignmvc3.models.repo.getappcategoriesselect()) 

appcontroller

 [httppost]     public actionresult create(app d)     {         if (modelstate.isvalid)         {           this.repository.add(d);           this.repository.save();           return redirecttoaction("index");           }         return view();     } 

Comments

Popular posts from this blog

android - Spacing between the stars of a rating bar? -

aspxgridview - Devexpress grid - header filter does not work if column is initially hidden -

c# - How to execute a particular part of code asynchronously in a class -