У меня есть простое приложение ASP.NET MVC. Моя страница редактирования перенаправляется на страницу входа вместо индекса. После повторного входа в систему он правильно перенаправляется на страницу индекса. Чего мне не хватает?
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(SampleVM samplevm)
{
if (!IsUserInAuthorizedRole())
{
return View("~/Views/Shared/Unauthorized.cshtml");
}
if (ModelState.IsValid)
{
samplevm.UserId = User.Identity.Name;
Sample sample = PopulateSample(samplevm);
db.Entry(sample).State = EntityState.Modified;
db.SaveChanges();
TempData["Message"] = "Sample has been updated.";
//return RedirectToAction("Edit", "Samples", samplevm.SampleId);
return RedirectToAction("Index");
}
return View(samplevm);
}
Когда я вхожу в систему, создается файл cookie. Файл cookie не изменится, пока я не нажму «Сохранить» на странице «Редактировать». Он запрашивает вход в систему, затем после входа в систему значение файла cookie обновляется.
Я не изменяю файл cookie.
// POST Create
[HttpPost]
[ValidateAntiForgeryToken]
public JsonResult SaveSamples(SampleVM samplevm)
{
bool status = false;
if (ModelState.IsValid)
{
var lotExists = SampleExists(samplevm.LotId);
if(lotExists)
{
return Json(new {
success = false
, status = status
, responseText = "LotId " + samplevm.LotId + " already exists."
}, JsonRequestBehavior.AllowGet);
}
samplevm.UserId = User.Identity.Name;
Sample sample = PopulateSample(samplevm);
db.Samples.Add(sample);
db.SaveChanges();
int sampleId = sample.SampleId;
status = true;
return Json(new {
success = true
, redirectUrl = Url.Action("Index", "Samples")
, status = status, responseText = "Sample has been saved"
}, JsonRequestBehavior.AllowGet);
}
return new JsonResult { Data = new { status = status } };
}
// POST Edit
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(SampleVM samplevm)
{
if (ModelState.IsValid)
{
samplevm.UserId = User.Identity.Name;
Sample sample = PopulateSample(samplevm);
db.Entry(sample).State = EntityState.Modified;
db.SaveChanges();
TempData["Message"] = "Sample has been updated.";
return RedirectToAction("Index");
}
return View(samplevm);
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... login-page
RedirectToAction("Index") перенаправляет меня на страницу входа в систему ⇐ C#
Место общения программистов C#
1732733234
Anonymous
У меня есть простое приложение ASP.NET MVC. Моя страница редактирования перенаправляется на страницу входа вместо индекса. После повторного входа в систему он правильно перенаправляется на страницу индекса. Чего мне не хватает?
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(SampleVM samplevm)
{
if (!IsUserInAuthorizedRole())
{
return View("~/Views/Shared/Unauthorized.cshtml");
}
if (ModelState.IsValid)
{
samplevm.UserId = User.Identity.Name;
Sample sample = PopulateSample(samplevm);
db.Entry(sample).State = EntityState.Modified;
db.SaveChanges();
TempData["Message"] = "Sample has been updated.";
//return RedirectToAction("Edit", "Samples", samplevm.SampleId);
return RedirectToAction("Index");
}
return View(samplevm);
}
Когда я вхожу в систему, создается файл cookie. Файл cookie не изменится, пока я не нажму «Сохранить» на странице «Редактировать». Он запрашивает вход в систему, затем после входа в систему значение файла cookie обновляется.
Я не изменяю файл cookie.
// POST Create
[HttpPost]
[ValidateAntiForgeryToken]
public JsonResult SaveSamples(SampleVM samplevm)
{
bool status = false;
if (ModelState.IsValid)
{
var lotExists = SampleExists(samplevm.LotId);
if(lotExists)
{
return Json(new {
success = false
, status = status
, responseText = "LotId " + samplevm.LotId + " already exists."
}, JsonRequestBehavior.AllowGet);
}
samplevm.UserId = User.Identity.Name;
Sample sample = PopulateSample(samplevm);
db.Samples.Add(sample);
db.SaveChanges();
int sampleId = sample.SampleId;
status = true;
return Json(new {
success = true
, redirectUrl = Url.Action("Index", "Samples")
, status = status, responseText = "Sample has been saved"
}, JsonRequestBehavior.AllowGet);
}
return new JsonResult { Data = new { status = status } };
}
// POST Edit
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(SampleVM samplevm)
{
if (ModelState.IsValid)
{
samplevm.UserId = User.Identity.Name;
Sample sample = PopulateSample(samplevm);
db.Entry(sample).State = EntityState.Modified;
db.SaveChanges();
TempData["Message"] = "Sample has been updated.";
return RedirectToAction("Index");
}
return View(samplevm);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79228139/redirecttoactionindex-redirect-me-to-login-page[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия