Estoy tratando de escribir una extensión html helper que genera una etiqueta de imagen. Necesito acceder (dentro del código C#) algo como el ayudante de Razor @ Url.Content() para obtener la URL adecuada para el contexto actual. ¿Cómo se hace esto?En ASP.NET MVC, ¿cómo puedo usar el ayudante Razor @ Url.Content() del código C#?
Respuesta
Se puede llegar a la solicitud objeto y por lo tanto la URL como esto:
string fullUrl = HttpContext.Current.Request.Url.AbsoluteUri;
¿Por qué recibió la respuesta de Tim Scott votaciones ascendentes y este downvotes? –
Algo como esto tal vez?
public static string MyHelper(this HtmlHelper h)
{
string url = h.ViewContext.HttpContext.Request.Url.AbsoluteUri;
}
Usted puede crear su propia instancia de UrlHelper
pasando en el ViewContext
apropiada. Por ejemplo, para hacer esto de un ayudante de la imagen:
public static string CustomImage(this HtmlHelper html)
{
var Url = new UrlHelper(html.ViewContext.RequestContext);
}
En este punto se puede llamar Url.Content()
o cualquier otro método UrlHelper
.
Utilice lo siguiente para imitar Url.Content en el código.
VirtualPathUtility.ToAbsolute("~/url/");
Esto funcionó para mí en un sitio web de WebMatrix. Gracias. – Amir
Esto es genial, ¿Hay algún escenario/edgecase donde Url.Content() proporciona resultados diferentes a este? – Zasz
Si su url tiene parámetros de cadena de consulta, VirtualPathUtility.ToAbsolute() arrojará un error, Url.Content no. –
sí, utilizar este código para agregar url.content en su código Es un trabajo, hermano y sist
[muestra] var = img_btn_edit VirtualPathUtility.ToAbsolute ("~/contenido/imágenes/lápiz .png ");
Sí, puedes.
desde un controlador puede llamar:
this.Url.Content("~/Somerelativepath?somethingelse=true");
- 1. Url.Content en ASP.net MVC 2.0
- 2. asp.net mvc en palabras del ayudante
- 3. ¿Cómo incluir una variable MVC Razor dentro de Url.Content?
- 4. Cómo usar ASP.NET MVC Html Helpers desde un ayudante personalizado?
- 5. ASP.NET MVC - ¿Puedo usar código subyacente
- 6. ASP.NET MVC Razor concatenación
- 7. MVC ASP.NET o Razor
- 8. ASP.NET MVC Razor diseñador
- 9. asp.net MVC Url.Content() redirección de CDN
- 10. Crear personalizada ayudante en ASP .NET MVC 3 y Razor
- 11. Url.Content en ASP.NET formularios web
- 12. Cómo usar Html.Raw en MVC Razor DropDownList?
- 13. Motor ASP.NET MVC Razor view
- 14. ASP.NET MVC 3 Razor el rendimiento
- 15. ¿Cómo puedo exportar xml con ASP.NET razor?
- 16. ¿Cómo puedo usar Backbone.js con ASP.Net MVC?
- 17. @ Url.Content en el archivo JavaScript independiente mediante ASPNET MVC 3 y Razor
- 18. Controles personalizados con ASP.NET MVC Razor
- 19. ¿Debo usar Url.Content() o ResolveUrl() en mis vistas de MVC?
- 20. Generar URL completa ASP.NET MVC Razor Vistas
- 21. ASP.NET MVC 3 Sintaxis Razor - Casting
- 22. ¿Dónde se encuentra el código fuente del Razor View Engine para ASP.NET MVC?
- 23. ASP.NET MVC 3 Razor plantillas VS renderPartial
- 24. ASP.NET MVC RC vuelve camino equivocado para Url.Content
- 25. ASP.Net MVC 3 Razor Response.Write position
- 26. ¿Cómo puedo definir los usos en MVC 3 Razor View Engine en todo el sitio?
- 27. ASP.NET MVC 3 Razor View Restrictions
- 28. Webforms de Asp.Net V Asp.Net WebSite (Razor) Vs. Asp.Net MVC
- 29. Alojamiento ASP.NET MVC 3 Razor Engine Site
- 30. ¿Por qué usar Url.Content para referenciar recursos?
Necesita ser más específico que 'de código'. Es todo código. ¿Quiere decir de una acción de controlador? – liammclennan
Sí, está disponible libremente para el código del controlador; consulte mi respuesta a continuación http://stackoverflow.com/questions/351937/in-asp-net-mvc-how-can-use-i-url-content-from-code/7396627 # 7396627 –
¿Por qué no escribe un [método de extensión] (http://msdn.microsoft.com/en-us/library/bb383977.aspx)? – JSC