Я читал пост Скотта Гатри на Передача ViewData из контроллеров в представления , но я не думаю, что урок требует моей конкретной ситуации.
(Примечание: из-за личных ограничений клиента, я не могу говорить вставлять фактический код, поэтому я извиняюсь, если мой выдуманный случай немного глупый / запутанный.)
У меня есть контроллер с именем ScenarioController, который обрабатывает различные действия, связанные с созданием модели сценария. Различные действия, которые пользователь выполнит, являются общими CRUD сценариев. Я могу создать веб-сайт, который делает это для модели сценария. Однако недавно я обновил модель сценария, чтобы она теперь состояла из различных подкомпонентов (списков других объектов). Соответствующее представление использует вкладки jQuery, которые загружают частичные представления, чтобы, в конечном счете, загрузить формы в различные данные подкомпонента. К сожалению, здесь у меня проблемы.
Моя индексная страница сейчас выглядит примерно так:
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<% using (Html.BeginForm()) {%>
<div id="scenario">
<div id="tabs">
<ul>
<li><a href="#tab1">Tab 1</a></li>
<li><a href="#tab2">Tab 2</a></li>
<li><a href="#tab3">Tab 3</a></li>
</ul>
<div id="tab1"><% Html.RenderPartial("Tab1"); %></div>
<div id="tab2"><% Html.RenderPartial("Tab2"); %></div>
<div id="tab3"><% Html.RenderPartial("Tab3"); %></div>
</div>
<div class="submitButtons">
<input type="button" value="Save Scenario" id="SaveScenario" />
<input type="button" value="Submit Scenario" id="SubmitScenario" />
</div>
</div>
<% } %>
</asp:Content>
И частичные страницы строго типизированы для того, что они представляют (в первую очередь List<SomeObject>
).
Как данные должны храниться в модели сценария? Я использую базу данных SQL и взаимодействую с Entity Framework. Мне все еще нужны Свойства, представляющие различные списки элементов (чтобы я мог передавать ViewData с использованием строго типизированных классов), или это то, что я могу передавать в ViewData непосредственно из вызовов сущностей (и приводить по мере необходимости)?