2011-07-02 10 views
5

Voglio tutti gli URL per le mie immagini nella mia applicazione ASP.NET MVC per essere di forma:Come posso indirizzare "/ img /" alla cartella "/ Content/img" in ASP.NET MVC 3?

www.mydomain.com/img/someimagename.png

Tuttavia, Al momento ho tutte le mie immagini nel mio progetto MVC nella cartella: /Content/img /.

Come posso scrivere un percorso che mappa/img in/Content/img?

+0

un percorso non è sufficiente. I percorsi sono solo mappature tra URL e metodi di azione. – bzlm

+4

perché non mettere tutte le immagini in una directory 'img'? – Buildstarted

+0

@BuildStarted Anche io sto correndo in questa situazione ... Non voglio realmente "Contenuto" negli URL, ma inserendolo nella radice si inquina il progetto. Ma suppongo sia quello con cui ho vissuto. –

risposta

2

che dire di questo approccio,

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

e la vista rasoio

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

o in una vista di base asp.net

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

.... sul serio ?? – RPM1984

4

È possibile utilizzare regole di riscrittura per questo. Aggiungi il seguente percorso per riscrivere la sezione in web.config:

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