Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.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
Url.Content(“~/…”)和“Url.Content”之间有区别吗~/&引用;对于ASP.NET MVC中的URL?_Asp.net_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

Url.Content(“~/…”)和“Url.Content”之间有区别吗~/&引用;对于ASP.NET MVC中的URL?

Url.Content(“~/…”)和“Url.Content”之间有区别吗~/&引用;对于ASP.NET MVC中的URL?,asp.net,asp.net-mvc,asp.net-mvc-4,Asp.net,Asp.net Mvc,Asp.net Mvc 4,我正在处理一个驻留在域的子目录中的web应用程序,并且我正在尝试识别将正确的URL插入img标记的最惯用方法。虽然以下两种方法在客户机上生成相同的HTML,但我不确定哪一种更“正确” 这两种方法都会产生一个绝对路径/subfolder/Content/images/blah.png,因此这两种方法都可以工作,但我很好奇哪种方法是正确的 这两种方法之间有什么区别吗(例如,一种方法是通过不同的机制解决的,而另一种方法是通过不同的机制解决的?还是前者只是后者的语法糖分?没有什么比这更正确了。我

我正在处理一个驻留在域的子目录中的web应用程序,并且我正在尝试识别将正确的URL插入
img
标记的最惯用方法。虽然以下两种方法在客户机上生成相同的HTML,但我不确定哪一种更“正确”

这两种方法都会产生一个绝对路径
/subfolder/Content/images/blah.png
,因此这两种方法都可以工作,但我很好奇哪种方法是正确的


这两种方法之间有什么区别吗(例如,一种方法是通过不同的机制解决的,而另一种方法是通过不同的机制解决的?还是前者只是后者的语法糖分?没有什么比这更正确了。我会使用速记,因为Razor现在支持它。

使用MVC4,您不再需要
@Url.Content

如果Razor检测到~/它将创建与相同的输出 @Url.Content


如果要通过控制器传递字符串,则需要使用@url.content()。 但如果您直接在.cshtml中传递路径,则无需使用@url.content()

没有必要

<img src="@Url.Content("~/Content/images/blah.png")  />

需要

@ViewBag.ImagePath=“~/Content/images/blah.png”;

谢谢;我不确定两者之间是否有区别(例如,一个是由某种内部IIS机制解决的,以使用应用程序根目录,另一个是使用特定于ASP.NET MVC的内容);这正是我要找的。一旦计时器启动,你就会得到检查。这在Razor Pages项目中编写的ViewComponent中似乎不起作用。仍然需要Url.Content()。您是否知道有什么方法可以使它在没有Url.Content的情况下工作,这样我的代码就可以“无处不在”了?这在Razor Pages项目中编写的ViewComponent中似乎不起作用。仍然需要Url.Content()。这和你提到的问题一样吗?我将ViewComponent的模型作为ImagePath属性,因此我必须执行
src=“@Url.Content(model.ImagePath)”
。如果这是您正在描述的同一问题,您在哪里找到了解释这一问题的文档?谢谢
@ViewBag.ImagePath = "~/Content/images/blah.png";
<img src="@Url.Content(@ViewBag.ImagePath)" />