none
Редирект из контроллера RRS feed

  • Вопрос

  • Здравствуйте! Проблема в том что у меня не вполняется редирект из Action. Допустим даже если я сделаю так что например Action Index из Home будет возвращать void, у меня всё равно загружается View по этому адресу..
    Вроде ведь сначала обрабатывается Action, а потом уже после этого выполняется вывод результата...
    7 марта 2013 г. 11:06

Ответы

  • Посмотрел те исходники, что выкладывали... Очистил и перестроил решение, запустил, всё нормально редиректится на главную страницу.

    Попробуйте очистить и перестроил решение, может глюк какой...

    • Помечено в качестве ответа Sm1le291 11 марта 2013 г. 12:43
    11 марта 2013 г. 10:27

Все ответы

  • Покажите код, как вы это делаете.
    7 марта 2013 г. 14:44
    Модератор
  • Вот код action к которому я перехожу и откуда по идее сразу должен быть редирект:

     public ActionResult SeeCategory()
            {
    
                return RedirectToAction("Index", "Home", null);
                //{
                //    var db = new NEW_project_18_02_2013.Models.FEContext.FastEatContext();
                //  //  return View(db.Categories.ToList());
                //}
            }

    В вот как перехожу:

    <li><a href="@Url.Action("SeeCategory", "Admin", null)"> Категории</a></li>

    Вот он мне по ссылке и переходит, а переадресации нету..



    • Изменено Sm1le291 7 марта 2013 г. 16:04
    7 марта 2013 г. 16:02
  • Зачем null в Action третьем параметром передавать?

    А если точку останова в SeeCategory вставить он туда вообще заходит?

    Для ссылок кстати есть @Html.ActionLink("Категории","SeeCategory", "Admin")

    8 марта 2013 г. 9:21
  • AtlantBB,сейчас создал новый контроллер с action внутри, ну и view соответствующий. Попробовал перейти к нему по ссылке, и не переходит, сервер выдаёт ошибку  404. Я вот думаю, может это я когда на Azure пытался всё это дело скинуть, он мне в конфигах что-то с путями намутил?

    На Azure кстати сайт вообще не грузится, но это отдельный разговор 

    8 марта 2013 г. 13:35
  • Скорее всего полученный URL, у вас не соответствует маршруту. Покажите код настройки маршрутов.
    8 марта 2013 г. 18:05
    Модератор
  • Можно скинуть код контроллеров и вьювов? Вроде на Azure таких проблем не наблюдал... При локальном запуске проблема есть?
    8 марта 2013 г. 21:01
  • Yatajga, лучше по скайпу экран расшарить и показать, проще будет)
    8 марта 2013 г. 22:24
  • AtlantBB, даже когда я вручную вбиваю в браузере путь, он по нему не переходит....
    • Изменено Sm1le291 11 марта 2013 г. 4:57
    11 марта 2013 г. 4:36
  • public static void RegisterRoutes(RouteCollection routes)
            {
                routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    
                routes.MapRoute(
                    name: "Default",
                    url: "{controller}/{action}/{id}",
                    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
                );
            }

    11 марта 2013 г. 5:57
  • Странно, по тому что вы привели должно работать. Но у вас вроде другой роут не работал?
    11 марта 2013 г. 6:24
    Модератор
  • Посмотрел те исходники, что выкладывали... Очистил и перестроил решение, запустил, всё нормально редиректится на главную страницу.

    Попробуйте очистить и перестроил решение, может глюк какой...

    • Помечено в качестве ответа Sm1le291 11 марта 2013 г. 12:43
    11 марта 2013 г. 10:27
  • AtlantBB, спасибо)

    Не дождался ответа,создал новый проект, туда всё пернёс и заработало.

    Может  дело в Glimpse было..


    • Изменено Sm1le291 11 марта 2013 г. 12:43
    11 марта 2013 г. 12:43
  • AtlantBB, теперь что-бы на Azure всё это залить, надо базу вручную создавать там или она автоматически создастся, потому-что у меня выдёт какую-то ошибку в которой ничего конкретного не написано когда я захожу на сайт
    11 марта 2013 г. 12:58
  • При публикации в Azure, есть строка переписать ConnectionString и указываешь строку подключения к базе SQL Azure. Если в EF подход CodeFirst. То она там всю структуру создаст. Данные переносить не будет...
    12 марта 2013 г. 5:23
  • Так и сделал, вот как здесь написано http://msdn.microsoft.com/ru-ru/magazine/jj883953.aspx

    Вот что мне теперь выдаёт:

    12 марта 2013 г. 6:06
  • Если я закомментирую эту строчку, то всё работает:

    Database.SetInitializer<FEContext>(new DropCreateDatabaseIfModelChanges<FEContext>());
    

    Это значит мне придётся каждый раз при перезаливке базу наполнять заново?
    • Изменено Sm1le291 12 марта 2013 г. 6:17
    12 марта 2013 г. 6:16
  • Включить миграцию надо... Code First Migrations
    12 марта 2013 г. 12:48