In my razor style helper class (located in the App_Code folder, I've got this line of code:
<img src="../../Content/images/ajax_activity.gif" alt="loading"/>
This works fine in Cassini, but when I deploy the app to IIS (virtual directory), IIS can't find the path. The virtual path is being ignored. This also doesn't work:
<img src="@Href("~/Content/images/ajax_activity.gif")" alt="loading" />
You could use @Url.Content
method to convert virtual relative path to absolute application path like this:
<img [email protected]("~/images/picture.png") alt="picture description">
It'll be converted in this HTML code forwarded to client:
<img src="/appname/images/picture.png" alt="picture description">
UPDATE: In other hand you could convert image to base64 and it will be displayed correctly too:
<img src="data:image/png;base64,iVBORw0KG...SuQmCC" alt="picture description">
OK, solved it, though I'm not really sure why it's working. After trying all the following combinations without success:
<img src="../Content/images/ajax_activity.gif" alt="loading"/>
<img src="/Content/images/ajax_activity.gif" alt="loading"/>
<img src="~/Content/images/ajax_activity.gif" alt="loading"/>
<img src="Content/images/ajax_activity.gif" alt="loading"/>
the following finally worked as expected
<img src="./Content/images/ajax_activity.gif" alt="loading"/>
It returned the image path correctly with the virtual directory set. Anyone able to explain this?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With