Как передать переменную из одного ActionResult в другой ActionResult? (ASP. NET MVC) - PullRequest
0 голосов
/ 26 апреля 2020

Я хочу иметь возможность использовать значение строковой переменной, переданной одному ActionResult, в другом ActionResult. Как я мог go сделать это?

public ActionResult PassCategoryPlaceHolder(string placeHolder)
        {

            var result = placeHolder;
            return RedirectToAction("EditCategory", result);
        }

Я хочу иметь возможность использовать «результат» в моем другом ActionResult следующим образом:

public ActionResult EditCategory()
        {
            ViewBag.Message = Convert.ToString(result);
            return View();
        }

Примечание: я пытаюсь избежать отправки placeHolder непосредственно в ActionResult, где он мне нужен.

Ответы [ 2 ]

2 голосов
/ 26 апреля 2020

Вы можете сделать что-то вроде этого

 public ActionResult PassCategoryPlaceHolder(string placeHolder)
    {
      var result = placeHolder;
      return RedirectToAction("EditCategory", new { message = result});
    }

И другим способом: -

public ActionResult EditCategory(string message)
 {
   var model = new EditCategoryViewModel();
   model.Message = message;
   return View(model);
 }
1 голос
/ 27 апреля 2020

Просто используйте переменную Session:

 public ActionResult PassCategoryPlaceHolder(string placeHolder)
            {

                Session["result"] = placeHolder;
                return RedirectToAction("EditCategory");
            }


    public ActionResult EditCategory()
            {
                var Message = Convert.ToString(Session["result"]);
                return View();
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...