2011-07-02 15 views
5

quiero todas las direcciones URL de mis imágenes en mi aplicación ASP.NET MVC para ser de la forma:¿Cómo puedo enrutar "/ img /" a la carpeta "/ Content/img" en ASP.NET MVC 3?

www.mydomain.com/img/someimagename.png

Sin embargo, actualmente tengo todos mis imágenes en mi proyecto MVC en la carpeta: /Content/img /.

¿Cómo puedo escribir una ruta que se asigna/img a/Content/img?

+0

una ruta no será suficiente. Las rutas son solo asignaciones entre las URL y los métodos de acción. – bzlm

+4

¿por qué no simplemente colocas todas tus imágenes en un directorio 'img'? – Buildstarted

+0

@BuildStarted Me encuentro con esta situación también ... Realmente no quiero "Contenido" en las URL, pero ponerlo en la raíz contamina el proyecto. Pero supongo que es con lo que tengo que vivir. –

Respuesta

2

¿qué pasa con este enfoque,

public ActionResult Img(string imgURL) 
    { 
     ViewBag.imageURL = imgURL; 
     return View(); 
    } 

y la vista de afeitar

<img src="@Url.Content("~/Content/images/"[email protected])" /> 

o en un punto de vista básico asp.net

<img src="~/Content/images/"+ViewBag.imageURL)" /> 
+0

.... ¿en serio? – RPM1984

4

Puede utilizar las reglas de reescritura para esto. Agregue la siguiente ruta para reescribir la sección en web.config:

<rule name="Img to content img"> 
<match url="^img/(.*)" /> 
<action type="Rewrite" url="/Content/img/{R:1}" /> 
</rule> 
Cuestiones relacionadas