je préfère tirer les URL à partir d'un de de les années href ou sous forme 'étiquettes - une action ou un autre élément qui fait sens.
<img class="_click" src="<%= Url.Content("~/my/image.png") %>" alt="Click" />
Et dans mon javascript (vérifiez cela sur jQuery, je ne suis pas sûr que ce soit la syntaxe exacte.):
var url = $('._click').attr('href');
// To pass these to your plugin as options
// see lightbox source for a full list
$('a').lightBox({ imageLoading : url })
Une autre option un peu moins préféré est d'ajouter vos paramètres au-dessus de votre fichier:
<script type="text/javascript"><![CDATA[
$('a').lightBox({ imageLoading : <%= Url.Content("~/my/image.png") %> })
//]]></script>
Je dis « moins préférée », car cette approche mixe le balisage et le code.
Une autre approche (qui a besoin de beaucoup de ranger) est de vous servir js d'un contrôleur:
public ActionResult GetFileContent(string filename)
{
// important: make sure to control the path for security
var path = Server.MapPath("~/Scripts/" + filename);
var content = System.IO.File.ReadAllText(path);
// Use some kind of template convention
content = content.Replace("{{IMAGE_PATH}}", Url.Content(@"~/my/image.png"));
var bytes = new UTF8Encoding().GetBytes(content);
return new FileContentResult(bytes, "text/javascript");
}
Tnx! Cela a résolu mon problème. –