ASP.NET MVC 2 DisplayFor()

Posted by ZombieSheep on Stack Overflow See other posts from Stack Overflow or by ZombieSheep
Published on 2009-09-23T15:05:12Z Indexed on 2010/04/16 2:03 UTC
Read the original article Hit count: 382

Filed under:
|
|

I'm looking at the new version of ASP.NET MVC (see here for more details if you haven't seen it already) and I'm having some pretty basic trouble displaying the content of an object.

In my control I have an object of type "Person", which I am passing to the view in ViewData.Model. All is well so far, and I can extact the object in the view ready for display. What I don't get, though, is how I need to call the Html.DisplayFor() method in order to get the data to screen. I've tried the following...

<% 
    MVC2test.Models.Person p = ViewData.Model as MVC2test.Models.Person;
%>
// snip
<%= Html.DisplayFor(p => p) %>

but I get the following message:

CS0136: A local variable named 'p' cannot be declared in this scope because it would give a different meaning to 'p', which is already used in a 'parent or current' scope to denote something else

I know this is not what I should be doing - I know that redefining a variable will producte this error, but I don't know how to access the object from the controller. So my question is, how do I pass the object to the view in order to display its properties?

(I should add that I am reading up on this in my limited spare time, so it is entirely possible I have missed something fundamental)

TIA

© Stack Overflow or respective owner

Related posts about asp.net-mvc

Related posts about asp.net-mvc-2