Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Server.MapPath(~)可选_Javascript_C#_Asp.net_Asp.net Mvc - Fatal编程技术网

Javascript Server.MapPath(~)可选

Javascript Server.MapPath(~)可选,javascript,c#,asp.net,asp.net-mvc,Javascript,C#,Asp.net,Asp.net Mvc,我有一个asp.net MVC应用程序,我想获取访问某个文件的远程地址 在我的img标签中,我使用的是~/ 自 在这种情况下,将解释波浪线 但我想通过javascript创建标记,如下所示: var $state = $( '<span><img src="~/Content/img/bancos/' + state.element.value.toLowerCase() + '.png" class="img-banco" /> ' + state.text + '

我有一个asp.net MVC应用程序,我想获取访问某个文件的远程地址

在我的img标签中,我使用的是
~/

在这种情况下,将解释波浪线

但我想通过javascript创建标记,如下所示:

var $state = $(
  '<span><img src="~/Content/img/bancos/' + state.element.value.toLowerCase() + '.png" class="img-banco" /> ' + state.text + '</span>'
);
var$state=$(
''+state.text+''中
);
在这种情况下,不解释波浪线

我可以使用什么替代方案

我试过这个:

var $state = $(
  '<span><img src="@Server.MapPath(~)/Content/img/bancos/' + state.element.value.toLowerCase() + '.png" class="img-banco" /> ' + state.text + '</span>'
);
var$state=$(
''+state.text+''中
);

但这将返回服务器中的应用程序文件夹,如
E:\inetpub\…
server.MapPath
返回物理目录的路径。您需要应用程序根目录(或图像)的相对url

您应该使用helper方法在razor视图中生成根的值,并将其存储在js变量中并使用它。始终使用javascript名称空间以避免全局变量值覆盖情况

因此,在布局文件或视图中

<script>
    var myApp = myApp || {};  
    myApp.Urls = myApp.Urls || {};
    myApp.Urls.baseUrl = '@Url.Content("~")';        
</script>
<script src="~/Scripts/PageSpecificExternalJsFile.js"></script>

我相信您正在寻找的是:

src="@Url.Content(string.Format("~/Content/img/bancos/{0}.png", state.element.value.toLowerCase()))"
我不知道它是否直接适用于您的代码,但我相信@Url.Content会让您达到目的


您好,

我发现了
@Href
的相关信息,并且它的工作如期进行

var $state = $(
    '<span><img src="@Href("~/Content/img/bancos/")' + padder.pad(state.element.value) + '.png" class="img-banco" /> &nbsp; ' + state.text + '</span>'
);
var$state=$(
''+state.text+''中
);

调试时,我得到了以下信息:
myApp.url.baseUrl=“/”
是。这是应用程序根目录(相对路径)。您的js代码应该适用于当前页面。只需将其用作基本url并附加其余部分
var $state = $(
    '<span><img src="@Href("~/Content/img/bancos/")' + padder.pad(state.element.value) + '.png" class="img-banco" /> &nbsp; ' + state.text + '</span>'
);