que tiene un método:URL actual en asp.net mvc
public ActionResult AddProductToCart(int productId)
{
var product = _productService.GetProductById(productId);
if (product == null)
return RedirectToAction("Index", "Home");
int productVariantId = 0;
if (_shoppingCartService.DirectAddToCartAllowed(productId, out productVariantId))
{
var productVariant = _productService.GetProductVariantById(productVariantId);
var addToCartWarnings = _shoppingCartService.AddToCart(_workContext.CurrentCustomer,
productVariant, ShoppingCartType.ShoppingCart,
string.Empty, decimal.Zero, 1, true);
if (addToCartWarnings.Count == 0)
//return RedirectToRoute("ShoppingCart");
else
return RedirectToRoute("Product", new { productId = product.Id, SeName = product.GetSeName() });
}
else
return RedirectToRoute("Product", new { productId = product.Id, SeName = product.GetSeName() });
}
Usted ve la línea que está comentado: yo quiero que no se aplique cualquier redirección pero sólo estancia en la misma página de donde esta solicitud fue hecha.
Si pongo return View()
no está bien porque va a la búsqueda de Vista con este nombre, mientras que este método es una acción simple de añadir a la cesta ..
¿Me podría dar una solución de cómo redirigir a la corriente url o para permanecer en la misma página?
Por "fácil" como es agarrar la referencia, creo que esta es una mejor solución. Es más trabajo por adelantado, pero creo que te da un resultado más sólido. En el lado del deslizamiento, puedes _try_ usando 'returnUrl' y de forma predeterminada a' Request.Referrer'. Un enfoque casi a prueba de balas es crear un HtmlExtender (tal vez 'Html.ActionLinkWithReturnUrl (...)'?) –
@BradChristie, personalmente no uso 'Referrer'. No sé por qué. Simplemente no me gusta. –
Todo lo que dependa de cosas en un entorno sin estado también me da los nervios; así que estoy contigo. –