c# - How do I use strongly typed models and @model? -


i'm learning asp.net mvc. have service folder have class reads data xml file. i've created controller think (?) should work, , i'm attempting create view reason can't intellisense autocomplete @model makes me think i've done wrong. additionally, when try access model properties view (eg model.description - if syntax?) numerous missing { , } errors. doing wrong?

controller:

public actionresult index() {     newsreader newsreader = new newsreader(); //read news file     var newsitems = newsreader.getnewsitems();      return view(newsitems); } 

and far have view:

@model ienumerable<testsite.services.news.newsitem>  @{     layout = null; }  <!doctype html>  <html> <head>     <meta name="viewport" content="width=device-width" />     <title></title> </head> <body>     <div>         <ul>             @foreach(model.description)             {              }         </ul>     </div> </body> </html> 

refer @erik funkenbusch explanation of mvc @model meaning

the @ sign directive tell razor engine follows code, , should compile rather write output.

so when type

@model blah compiled razor, , tells razor engine type of model 'blah', when use keyword model (note capital m , have use @ sign well) refer model have defined (in case blah).

therefore corrections should taken following:

//@model ienumerable<testsite.services.news.newsitem> @model ienumerable<testsite.services.news.newsitem>   //@foreach(model.description) @foreach(var item in model.description) { } 

i recommend read getting started asp.net mvc 5 learn basics asp.net mvc 5. razor engine used mvc 5 view styling.

and have idea here


Comments

Popular posts from this blog

angularjs - ADAL JS Angular- WebAPI add a new role claim to the token -

php - CakePHP HttpSockets send array of paramms -

node.js - Using Node without global install -