Como he decidido dejar ir a RC mientras estoy con Beta por ahora, no tengo forma de saber si se ha agregado un RedirectToAction
fuertemente tipado. ¿Alguien lo ha probado y hay un RedirectToAction
fuertemente tipado (y tal vez ActionLink
) en RC?¿.NET MVC tiene un RedirectToAction fuertemente tipado?
Respuesta
No, no es así.
protected RedirectToRouteResult RedirectToAction<T>(Expression<Action<T>> action, RouteValueDictionary values) where T : Controller
{
var body = action.Body as MethodCallExpression;
if (body == null)
{
throw new ArgumentException("Expression must be a method call.");
}
if (body.Object != action.Parameters[0])
{
throw new ArgumentException("Method call must target lambda argument.");
}
string actionName = body.Method.Name;
var attributes = body.Method.GetCustomAttributes(typeof(ActionNameAttribute), false);
if (attributes.Length > 0)
{
var actionNameAttr = (ActionNameAttribute)attributes[0];
actionName = actionNameAttr.Name;
}
string controllerName = typeof(T).Name;
if (controllerName.EndsWith("Controller", StringComparison.OrdinalIgnoreCase))
{
controllerName = controllerName.Remove(controllerName.Length - 10, 10);
}
RouteValueDictionary defaults = LinkBuilder.BuildParameterValuesFromExpression(body) ?? new RouteValueDictionary();
values = values ?? new RouteValueDictionary();
values.Add("controller", controllerName);
values.Add("action", actionName);
if (defaults != null)
{
foreach (var pair in defaults.Where(p => p.Value != null))
{
values.Add(pair.Key, pair.Value);
}
}
return new RedirectToRouteResult(values);
}
Eso debería funcionar.
¿Existe esto en Futures dll? no puedo encontrarlo, si lo hace? También me pregunto por qué se perdió? –
Chad ... ¿cómo puede convertirse esto en un método de extensión para la clase Controller? –
Recomiendo ponerlo en una clase base de Controladores y hacer que sus controladores hereden de eso. –
Esto también se incluye en MVC Contrib como un método de extensión en su controlador, junto con muchas otras ventajas muy tipadas para el manejo, prueba, etc. de ModelState. Vale la pena asumir la dependencia adicional de lo que ofrece.
Esta es la respuesta correcta. –
Si no desea la biblioteca completa de MvcContrib, puede obtener solo esta característica utilizando el paquete NuGet MvcNavigationHelpers.
Puede utilizar return RedirectToAction(nameof(Index));
- 1. Entity Framework con MVC fuertemente tipado
- 2. En .Net/C#, ¿es nulo fuertemente tipado?
- 3. ActionLink fuertemente tipado en Asp.Net MVC 2?
- 4. actionlink fuertemente tipado con asp.net mvc beta?
- 5. ¿Es PowerShell un lenguaje fuertemente tipado?
- 6. asp.net vistas de mvc y viewdata fuertemente tipado
- 7. ¿Dónde debería colocar mi asp.net-mvc fuertemente tipado viewdata?
- 8. asp.net mvc fuertemente tipado ver modelo con multiselect
- 9. .NET MVC 4 Modelo de vista fuertemente tipado que contiene Modelo fuertemente tipado con EditorPedido y Vista preliminar de EditorTemplate no vinculante
- 10. qué exactamente está fuertemente tipado Ver datos en Asp.Net MVC
- 11. ¿Qué es un conjunto de datos fuertemente tipado?
- 12. Diseño Objeto fuertemente tipado de XML
- 13. Asp.net WebAPI HttpClient fuertemente tipado PostAync
- 14. fuertemente tipado C++ 0x comparación de enumeraciones
- 15. ¿El rubí está fuertemente o débilmente tipado?
- 16. .NET MVC: ¿Llamar a RedirectToAction para pasar un modelo?
- 17. MVC - Paso de datos con RedirectToAction()
- 18. ¿Utiliza ItemType para un control de repetidor fuertemente tipado?
- 19. ¿Es posible crear un ASP.NET MVC personalizado fuertemente HTML Helper?
- 20. Acceso fuertemente tipado a Amazon S3 utilizando C#
- 21. RedirectToAction sin querystring MVC
- 22. Asp .Net MVC RedirectToAction con la URL absoluta
- 23. Prueba unitaria MVC 4 RedirectToAction
- 24. ASP.Net MVC 2 - Necesita agregar una propiedad predeterminada a un Html.Textbox Helper fuertemente tipado En Asp.Net MVC 2
- 25. Razor no funciona fácilmente con Html.ActionLink fuertemente tipado?
- 26. TryUpdateModel contra el parámetro del método fuertemente tipado
- 27. ¿"Tipo seguro" y "fuertemente tipado" significan lo mismo?
- 28. ¿Cómo puedo incluir DBNull como un valor en mi conjunto de datos fuertemente tipado?
- 29. Insertar filas en una relación utilizando un conjunto de datos fuertemente tipado
- 30. Uso de un método fuertemente tipado como argumento sin especificar parámetros
debe cambiar la respuesta aceptada a la respuesta de @Darrell Mozingo; porque RedirectToAction está realmente en el ensamblado Futures. –