Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.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
Asp.net mvc 迁移到Mvc,可能是处理css/图像请求的新方法?_Asp.net Mvc - Fatal编程技术网

Asp.net mvc 迁移到Mvc,可能是处理css/图像请求的新方法?

Asp.net mvc 迁移到Mvc,可能是处理css/图像请求的新方法?,asp.net-mvc,Asp.net Mvc,我们当前的asp.net web表单软件维护一个处理程序,用于将css和图像写入上下文 所以,您可以获得一组很好的资源,以及简单的URL和更高的可维护性,如: <link style="text/css" href="css.axd?prod=filename" /> <img src="img.axd?prod=filename" /> 我很好奇,是否有任何Mvc方法使用控制器有更多的优势。。。甚至可以做到吗??基于我对Mvc的粗略研究和理解,这似乎是可行的 谢谢

我们当前的asp.net web表单软件维护一个处理程序,用于将css和图像写入上下文

所以,您可以获得一组很好的资源,以及简单的URL和更高的可维护性,如:

<link style="text/css" href="css.axd?prod=filename" />
<img src="img.axd?prod=filename" />

我很好奇,是否有任何Mvc方法使用控制器有更多的优势。。。甚至可以做到吗??基于我对Mvc的粗略研究和理解,这似乎是可行的

谢谢

编辑:这里的目标是创建一个类似的机制(不管实现如何),使我们的视图在请求图像和css时更干净、更易于维护

实现还需要考虑到主题化也需要按需解决(这也是我们的处理程序所做的)。

您的操作可以这样做(重载),因此本质上是可以的-您可以在控制器和操作中实现此行为

但要注意性能。默认情况下,服务器提供的每个“常规”资源(CSS、JS等)都缓存在服务器端和客户端的多个层中。当应用这些服务器端调用时,您消除了这个漂亮的默认缓存,您必须自己在代码中应用它。

您的操作可以是这样(重载),所以本质上是这样-您可以在控制器和操作中实现此行为

但要注意性能。默认情况下,服务器提供的每个“常规”资源(CSS、JS等)都缓存在服务器端和客户端的多个层中。当应用这些服务器端调用时,您消除了这个漂亮的默认缓存,您必须自己在代码中应用它。

HTML帮助程序

@Url.Content("~/images/image.png")
@Url.Content("~/styles/style.css")
或者介绍新的HTML助手

公共静态字符串图像(此HtmlHelper帮助程序,字符串imglink){}

您可以这样使用它:

@Html.Image("logo.png")
不过对于样式和脚本,我建议使用

HTML帮助程序

@Url.Content("~/images/image.png")
@Url.Content("~/styles/style.css")
或者介绍新的HTML助手

公共静态字符串图像(此HtmlHelper帮助程序,字符串imglink){}

您可以这样使用它:

@Html.Image("logo.png")

虽然对于样式和脚本,我建议使用

是的,但出于这个原因,缓存也会在我们的处理程序中手动执行。尽管如此,还是要感谢你的提醒。谢谢你的指导。如果这行得通,我会给你答案tick=p谢谢你的提醒!是的。实际上,我选择了一个
cotenresult
,它非常适合我们的需要。实现两层缓存是一个有趣的过程lol,但工作起来很有魅力。我无法提出任何论据来解释为什么这样做会比使用前面提到的处理程序方法更好。对这个问题有什么想法吗?它仍然可以是一个处理者。我对MVC的行动没有异议。主要是个人喜好/舒适度的问题。是的,缓存也是在我们的处理程序中手动执行的。尽管如此,还是要感谢你的提醒。谢谢你的指导。如果这行得通,我会给你答案tick=p谢谢你的提醒!是的。实际上,我选择了一个
cotenresult
,它非常适合我们的需要。实现两层缓存是一个有趣的过程lol,但工作起来很有魅力。我无法提出任何论据来解释为什么这样做会比使用前面提到的处理程序方法更好。对这个问题有什么想法吗?它仍然可以是一个处理者。我对MVC的行动没有异议。主要是个人喜好/舒适度的问题。