ASP.net MVC: вернуться в другой вид и показать новый URL - PullRequest
0 голосов
/ 14 сентября 2018

Я начинающий, когда дело доходит до ASP.net MVC, и пока не работаю с моделями.Это всего лишь тестовый проект.

Я создал простую форму в представлении под названием Index.Здесь пользователь должен написать свое имя, а затем он направляет пользователя в представление «Пуск», в котором отображается его имя, имя сохраняется с помощью сеансов.

Этот первый метод просто проверяет, написал ли пользовательих имя и направляет пользователя к представлению «Пуск», если переменная сеанса имени уже существует.

    [HttpPost]
    public ActionResult Index(FormCollection form)
    {
        string username = form["Username"].ToString();

        if (string.IsNullOrEmpty(username))
        {
            ViewBag.Error = "Field can not be empty";
            return View();
        }
        else
        {
            Session["Username"] = username;
            return View("Start");
        }

    }

Следующий метод просто снова проверяет, задано ли имя, и отображается ли имя.

    public ActionResult Start()
    {
        if ((Session["Username"]) == null)
        {
            return View("Index");
        }
        else
        {
            ViewBag.User = Session["Username"].ToString();
            return View();
        }
    }

Все работает нормально, когда URL-адреса верны, например, когда я набираю Home / Start сам после того, как имя было сохранено.Но просто возвращение начального вида просто говорит "Добро пожаловать!"только с пробелом, где имя должно было быть.

Это все в одном контроллере.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...