Как получить доступ к строго типизированным данным в MVC - PullRequest
0 голосов
/ 11 января 2012

Я искал хорошее объяснение того, как получить доступ к моим строго типизированным данным из View моего приложения MVC (впервые касаясь MVC), и не могу найти его.Вот код в моем контроллере:

PersonDetailsModel personDetails = personProvider.GetPersonDetails(id);
return View("Person", personDetails);

У меня есть представление под названием Person.aspx, которое выглядит примерно так (почти пусто):

<%@ Page Title="Title" Language="C#" Inherits="System.Web.Mvc.ViewPage<Models.PersonDetailsModel>" MasterPageFile="../MvcMasterPage.Master" %>

Я бы подумал, что смогупросто сделайте что-то вроде Model.property или Person.property в представлении для доступа к данным, но я не вижу, как я могу получить доступ к экземпляру моей модели.Я уверен, что это легко, но я просто не вижу этого.

1 Ответ

4 голосов
/ 11 января 2012

Поскольку у вас строго типизированное представление, Model - это экземпляр вашей модели, который вы передали из контроллера. Таким образом, вы можете напрямую получить доступ к его свойствам:

<%@ Page 
    Title="Title" 
    Language="C#" 
    Inherits="System.Web.Mvc.ViewPage<Models.PersonDetailsModel>"
    MasterPageFile="../MvcMasterPage.Master" 
%>

<div><%: Model.SomeProperty %></div>

Свойство Model будет иметь тип Models.PersonDetailsModel.

И если бы вы использовали механизм представления Razor, эквивалентный вид мог бы выглядеть так:

@model Models.PersonDetailsModel
<div>@Model.SomeProperty</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...