ViewData. * И TModel в asp.net MVC - PullRequest
       14

ViewData. * И TModel в asp.net MVC

0 голосов
/ 11 апреля 2010

После недели использования asp.net mvc2 я все еще не понял преимуществ ViewData.model, а точнее, как правильно использовать Viewdata. Кто-нибудь может научить меня, как правильно использовать Viewdata

Кроме того, что TModel связано с viewdata? Как использовать TModel? Объяснение viewdata в движке Spark View говорит о TModel, и я не мог понять, как я могу использовать его в своих проектах. Кто-нибудь может мне помочь?

Ответы [ 2 ]

2 голосов
/ 11 апреля 2010

ViewData.Model - это то, что вы можете установить в действии контроллера, и оно будет передано в View, где вы можете получить к нему доступ, как это

<%=ViewData.Model.Description %>

или

<%=Model.Description %>

то есть, если класс, который вы передаете в представление, содержит свойство Description:

public ActionResult GetInstance(string id)
{
    MyContent content = GetContentFromDatastore(id);
    return View(content);
}

с этим классом MyContent

MyContent
{
    string id;
    string description;
}

По сути, вы отправляете экземпляр класса (объект с установленными свойствами, вероятнее всего, взятый из базы данных) обратно в представление и отображаете его данные в представлении, представление которого является файлом ascx или aspx, которое в итоге получает отображать пользователю / посетителю. Это очень простой пример, но неясно, что именно вы хотите и сколько вы уже знаете. Но постарайтесь пока не обсуждать Spark (и другие View Engine), пока вы не будете хорошо знать основы ASP.NET MVC.

1 голос
/ 13 апреля 2010

Mare правильно, вы можете использовать свои модели в своем представлении, открыв элемент ViewData.ModelName.PropertyName.

Также в вашем контроллере вы можете установить определенные пары ключ / значение в словаре ViewData:

ViewData["Address1"] = "2222 Somewhere";

А затем получите к нему доступ:

<%= Html.Encode(ViewData["Address1"]) %>

Очевидно, что не было бы идеальным использовать пару ключ / значение для обработки всех ваших данных, поэтому вы можете создавать свои собственные классы для инкапсуляции данных и передавать ТЕ в ваше представление для более легкой манипуляции.

...