MVC3 Просмотр проблемы обновления

Вот действие, которое устанавливает изображения в ViewBag для отображения.

public ActionResult UploadPhoto()
{
    List images = new List();

    foreach (var file in Directory.GetFiles(AlbumManager.GetAlbumName(SessionManager.CurrentSession.PropertyId, true)))
    {
        images.Add(Server.RelativePath(file));
    }

    ViewBag.Images = images;

    return PartialView("UploadPhoto");
}

Вот сообщение, которое используется для удаления выбранного изображения.

[HttpPost]
public ActionResult DeletePhoto(string imageName)
{
    AlbumManager.DeletePhoto(SessionManager.CurrentSession.PropertyId, imageName);
    return UploadPhoto();
}

Как вы можете видеть, после завершения удаления я перенаправляю его на действие UploadPhoto , которое должно печатать текущие изображения. Но после обратной записи удаленное изображение все еще отображается. Я очень не уверен в этом поведении. Пожалуйста, помогите мне решить эту проблему.

Я попытался очистить состояние модели в DeletePhoto с помощью следующего кода, но не использовать.

ModelState.Clear();

Мой взгляд:

@using (Html.BeginForm("DeletePhoto", "Add", FormMethod.Post, new { id = "PhotoDelete" }))
{
    <input type="hidden" name="imageName" id="imageName" />

    <div class="thumnailsBox">
        @foreach (var image in ViewBag.Images)
        {
            <div class="thumnailTails">
                
                    <input id="imageSubmit" type="image" alt="No Image" src="@Url.Content(image)" />
            </div>
        }
    </div>
}

<Сильный> Решение:

В дополнение к ответу IronMan84 , вот фактическое решение моей проблемы:

[HttpPost]
public ActionResult DeletePhoto(string imageName)
{
    AlbumManager.DeletePhoto(SessionManager.CurrentSession.PropertyId, imageName);
    return JavaScript("location.reload(true)");
}

Я предоставляю сценарий для перезагрузки страницы здесь.

0
nl ja de
@ IronMan84 - обновил вопрос.
добавлено автор NaveenBhat, источник
Не могли бы вы разместить свой код вида? Я хочу посмотреть, куда идет PartialView для UploadPhoto.
добавлено автор IronMan84, источник

3 ответы

Вы не перенаправляетесь на действие UploadPhoto .

Используйте RedirectToAction («UploadPhoto»); для перенаправления.

Кроме того, вы можете попробовать отладить код, чтобы проверить, не ли ваш AlbumManager не кэширует ваши данные или не выполняет удаление.

5
добавлено
Вы видите удаленное изображение в ответе? Проверьте FireBug. Вы правильно обновляете страницу в javascript?
добавлено автор Jakub Konecki, источник
Забыл упомянуть, я тоже пробовал это тоже, но бесполезно. Фотография удаляется. Если я обновляю страницу вручную, она работает нормально.
добавлено автор NaveenBhat, источник
Я добавил Guid к изображению, и то, что я мог наблюдать в firebug, состоит в том, что все изображения имеют предыдущий GUID , что означает, что ничего не обновляется!
добавлено автор NaveenBhat, источник
Ну, в ответ я получаю последний результат. Это определенно проблема с привязкой. Спасибо за подсказку.
добавлено автор NaveenBhat, источник

Вы возвращаете PartialView в UploadPhoto, но ваша форма на самом деле не нацелена на объект DOM, чтобы обновить результат из этого PartialView. Я бы рекомендовал переключиться на Ajax.BeginForm() и в вашем AjaxOptions, включая имя объекта DOM, который вы хотите обновить. Для получения дополнительной информации попробуйте посмотреть на этой странице .

1
добавлено
Звучит здорово, попробуем и дадим вам знать.
добавлено автор NaveenBhat, источник
+1 Спасибо, это указывало на решение.
добавлено автор NaveenBhat, источник
Не забудьте отметить это как ответ.
добавлено автор IronMan84, источник

Я думаю, что MVC кэширует ваш результат действия из первого метода. Вы должны проверить документацию на OutputCache , вы можете попробовать установить свойство NoStore , и если это не сработало, возможно, Duration of 0 предотвратит кеширование?

1
добавлено
Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda

DotNetRuChat
DotNetRuChat
2 992 участник(ов)

Чат русскоязычного .NET сообщества http://dotnet.ru/ Вам могут быть интересны: @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @xamarin_russia, @microsoftstackjobs, @uwp_ru Флуд в @dotnettalks

Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

CSS — русскоговорящее сообщество
CSS — русскоговорящее сообщество
1 502 участник(ов)

Сообщество любителей CSS Возникли проблемы с CSS? – пиши сюда, обсудим и предложим самое лучшее решение Работа: @css_ru_jobs Правила: https://teletype.in/@css_ru/r1EWtQ2w7 Приходите в наши чаты @javascript_ru и @frontend_ru Флуд: @css_flood

Чат — Типичный Верстальщик
Чат — Типичный Верстальщик
1 080 участник(ов)

Основной канал: @tpverstak Обратная связь: @annblok Все ссылки на соц.сети проекта: http://taplink.cc/tpverstak ПРАВИЛА ЧАТА — https://teletype.in/@annblok/BygPgC3E7

pro.net
pro.net
710 участник(ов)

Обсуждение .NET Framework и всего, что с ним связано. Правила: не флудить не по теме, уважать ваших коллег и никакой рекламы (объявления о вакансиях можно согласовать с @AlexFails). Флудилка: @dotnettalks Участник @proDOT

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot

.NET Talks: Force Push Masters
.NET Talks: Force Push Masters
490 участник(ов)

Свободный чат .NET разработчиков. Правила: t.me/dotnettalks/56823 Вам могут быть интересны: @dotnetruchat, @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @dotnetgroup, @xamarin_russia, @microsoftstackjobs, @uwp_ru http://combot.org/chat/-1001128250813

.NET Chat Убежище
.NET Chat Убежище
246 участник(ов)

Чат .NET разработчиков под эгидой MSK/SPB .NET Community Group Вам могут быть интересны: @fsharp_chat, @dotnetruchat, @cilchat, @xamarin_russia, @microsoftstackjobs, @dotnetgroup Флуд в @dotnettalks

Веб-Технологи: UI/UX, Вёрстка, Фронтенд
Веб-Технологи: UI/UX, Вёрстка, Фронтенд
167 участник(ов)

Всё про веб-дизайн и вёрстку. А также: HTML, CSS, флекс и бутстрапы, шаблонизаторы, препроцессоры, методологии, аглифаеры, улучшаторы и обфускаторы. Обсуждаем темы юзабилити, устраиваем А/В тесты лендингов, и проводим аудит.

DTP :: @DTPublish
DTP :: @DTPublish
147 участник(ов)

Обсуждаемые темы: полиграфия, препресс, верстка, дизайн, иллюстрации, скрипты, плагины. Канал - @DTPublishing

.NET CIL Chat
.NET CIL Chat
54 участник(ов)

.NET CIL (aka IL aka MSIL)

css_jobs
css_jobs
26 участник(ов)

Чат для вопросов по css и html: @css_ru Флуд: @css_flood Канал с вакансиями и резюме: @css_jobs_feed

css_флуд
css_флуд
10 участник(ов)