c# - NullException appears when the page is opened in ASP MVC -


i developing asp.net mvc 3 application using c# , sql server 2005.

i have created button appear fieldset when clicked on (and using jquery affect slide down).

the fieldset contain form.

when have created dropdownlist form,,,i have called list formviewmodel (because using entity framework , code first approach).

the problem : when open page, exception appears :

nullreferenceexception unhadled user code. object reference not set instance of object. 

it's related 'postesitems', don't know why demand declaration of object because import viewmodel.

this code of view :

<%@ page title="" language="c#" inherits="system.web.mvc.viewpage<mvcapplication2.models.flowviewmodel>" %>     <% using (html.beginform()) { %>     <%: html.validationsummary(true) %>     <fieldset class="parametrage">         <legend>gestion de gamme</legend>          <div><%:html.label("poste :")%><%: html.dropdownlist("selectedposte", new selectlist(model.postesitems, "id_poste", "id_poste"))%></div>            <div><%:html.label("nombre de passage :")%><%: html.dropdownlist("selectedgamme", new selectlist(model.gaitems,"nbr_passage","nbr_passage") )%></div>             </fieldset>          <% } %> 

and flowviewmodel called :

namespace mvcapplication2.models {     public class flowviewmodel     {         [key]         public string idv { get; set; }         public list<poste> postesitems { get; set; }         public list<profile_ga> profile_gaitems { get; set; }         public list<gamme> gaitems { get; set; }          public int selectedprofile_ga { get; set; }          public int selectedgamme{ get; set; }          public int selectedposte { get; set; }     } } 

and controller show view :

private gammecontext db = new gammecontext();          //         // get: /profilega/         [httpget]         public actionresult index(profile_ga profile_ga, poste poste)         {              var viewmodel = new flowviewmodel();             viewmodel.postesitems = db.postes.tolist();                viewmodel.profile_gaitems = db.profil_gas.tolist();                viewmodel.gaitems = db.gammes.tolist();                return view(viewmodel);            } 

this poste model :

namespace mvcapplication2.models {     public class poste     {         [required]         [key]         [display(name = "id poste :")]         public string id_poste { get; set; }          [required]         [display(name = "nom poste:")]         public string nom_poste { get; set; }          [required]         [display(name = "application :")]         public string application { get; set; }          [required]         [display(name = "in poste :")]         public string in_po { get; set; }          [required]         [display(name = "out poste :")]         public string out_po { get; set; }          [required]         [display(name = "etat :")]         public string etat { get; set; }          [required]         [foreignkey("ligne")]         [display(name = "id ligne :")]         public string id_ligne { get; set; }          [required]         [display(name = "mouvement :")]         public string mouvement { get; set; }          public virtual ligne ligne { get; set; }         public ienumerable<ligne> lignes { get; set; }          public virtual icollection<poste> postes { get; set; }     } 

and gamme model :

public class gamme     {         [key]         [column(order = 0)]         [foreignkey("profile_ga")]         public string id_gamme { get; set; }         [key]         [column(order = 1)]         [foreignkey("poste")]         public string id_poste { get; set; }         public int position { get; set; }         public int nbr_passage { get; set; }         public string last_posts { get; set; }         public string next_posts { get; set; }          public virtual poste poste { get; set; }         public virtual profile_ga profile_ga { get; set; }      } } 

the error : error

based on discussion in chat:

in index view there js function loads content controller action.

you problem in annouarcontroller. method gestion() returns view model of type flowviewmodel, model not initialized. should change @ least to:

         public actionresult gestion()          {                var viewmodel = new flowviewmodel();                viewmodel.postesitems = new selectlist(db.postes.tolist(), "id_poste", "id_poste");                 return view(viewmodel);          } 

Comments

Popular posts from this blog

c# - DetailsView in ASP.Net - How to add another column on the side/add a control in each row? -

javascript - firefox memory leak -

Trying to import CSV file to a SQL Server database using asp.net and c# - can't find what I'm missing -