Как перенаправить с использованием равенства и вопросительного знака в качестве символов аргумента в redirectToAction ()? - PullRequest
0 голосов
/ 07 января 2020

Я хочу перенаправить пользователя на другую страницу в моем asp. net mvc веб-приложении, используя

return RedirectToAction("foo?productId=" + product.id);

, но оно перенаправляет пользователя на

foo%3fproductId%3dproduct.id

Я хочу, чтобы приложение перенаправляло пользователя на

foo?productId=product.id

, чтобы приложение могло использовать значение product.id

Ответы [ 2 ]

3 голосов
/ 07 января 2020

Используйте эту перегрузку действия RedirectToAction:

return RedirectToAction("foo", new { productId = product.Id });

0 голосов
/ 08 января 2020
//How to use RedirectToAction with additional param in MVC

return RedirectToAction("actionName", "ControllerName", routevalue);

RedirectToAction с параметром:

return RedirectToAction("ActionName","controllerName", new {@productId=product.id});

Например

Если вы хотите показать сообщение об ошибке для [httppost], тогда он / она можно попробовать, передав ID с помощью

return RedirectToAction("foo", "YourControllerName", new { @productId= product.id});

для таких деталей, как эта

 public ActionResult foo(int? productId)
        {
            if (productId> 0)
            {
                ViewBag.Status = productId + " item is in use";
            }
            return View();
        }

[Httppost]
public ActionResult LogIn(FormCollection form)
        {
            string user= form["UserId"];
            string password = form["Password"];
            if (user == "admin" && password == "123")
            {
               return RedirectToAction("Index", "Admin");
            }
            else
            {
                return RedirectToAction("foo", "YourControllerName", new { @productId= 1 });
            }
}

Надеюсь, что все работает хорошо.

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