ASP.NET MVC передает данные между формами - PullRequest
1 голос
/ 12 августа 2010

Я довольно новичок в ASP.NET MVC, пытаясь разобраться в этом.

В настоящее время я возвращаю ViewModel, который имеет IEnumeable Events в качестве единственного свойства.Эта ViewModel имеет тип StronglyTyped для UserControl, который отображает события IEnumable в табличной форме.Одним из свойств модели событий является XElement, который содержит некоторый XML, загруженный из БД.

Теперь я добавил ссылку в конец табличных данных, чтобы можно было просматривать XML на отдельной странице.Как передать эти данные на другую страницу для просмотра?

Ответы [ 3 ]

1 голос
/ 12 августа 2010

Я бы отправил запрос обратно на сервер с каким-то идентификатором для объекта события, и получающая сторона отправила бы обратно XML, связанный с этим идентификатором.

, если вы просматриваете событиеобъекты в вашем IEnumerable, вы можете сделать что-то вроде:

<%= Html.ActionLink("GetXml", "Events", new { id = currentEvent.Id }) %>;

Теперь создайте Action на вашем EventController (если он у вас есть), например:

public ActionResult GetXml(int id)

и получите XMLперейти обратно на просмотр

0 голосов
/ 12 августа 2010

Помимо того, что советует Arve, вы также можете рассмотреть TempData.

Если вы используете концепцию Get-Post-Redirect / Forward для своего приложения, вы можете сделать что-то вроде:

  1. GET - поступает начальный запрос, сервер отвечает данными просмотра и модели.Пользователь выбирает элемент, который приводит к ...
  2. POST - Пользователь выбирает один из элементов из # 1, вызывая сообщение.Этот конкретный элемент можно извлечь из репозитория, поместить в TempData и затем ...
  3. REDIRECT / FORWARD - перенаправление собирает информацию из TenpData и использует ее в качестве модели для нового представления.

вот пример http://www.eworldui.net/blog/post/2008/05/08/ASPNET-MVC-Using-Post2c-Redirect2c-Get-Pattern.aspx

0 голосов
/ 12 августа 2010

Существует два основных способа переноса данных с одной страницы на другую с использованием ASP.NET MVC (или любого другого языка / фреймворка, соответствующего протоколу HTTP):

  • Сеансы: используйте сеанс для хранения необходимых вам данных и загрузите их обратно на следующей странице.
  • Опубликовать необходимые данные обратно на сервер. Таким образом, сервер может удерживать его и отображать на следующей странице. Опубликованные данные обычно поступают из input или textarea элементов. Если вы используете input type="hidden", вы можете присвоить ему значение, которое представляет ваши данные. Таким образом, вы можете отправлять сообщения туда и обратно, пока не прибудете туда, куда хотите.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...