Nopcommerce插件视图:CSS和JavaScript文件未找到(404)
Nopcommerce Plugin View: CSS and JavaScript Files Not Found (404)
小背景
我们一直在对如何与nopCommerce合作进行一些重组,以使其更易于维护。以前,我们一直使用主题系统来处理视图、脚本、css和图像。然而,我们现在要把所有这些都转移到我们的主插件"Nop.Plugin.Wca"上。"WE",这就是我遇到的一个非常奇怪的问题。
我的问题
我已经移动了所有的东西,并更新了所有的引用,路径等,所以事情应该工作得很好,但这只是部分情况。我的控制器能够很好地返回视图,但是视图不能添加任何CSS或JavaScript文件,因为它说它们在浏览器的检查器中"找不到(404)"。我保持了与我在"主题"文件夹(工作的地方)中使用的完全相同的语法,我只更改了路径:
Html.AppendCssFileParts("~/Plugins/Nop.Plugin.Wca.WE/Contents/css/ProductDetails/styles.css");
Html.AppendScriptParts("~/Plugins/Nop.Plugin.Wca.WE/Scripts/ProductDetails/ProductDetailsTooltips.js");
错误信息:
http://localhost:15636/Plugins/Nop.Plugin.Wca.WE/Contents/css/ProductDetails/styles.css Failed to load resource: the server responded with a status of 404 (Not Found)
http://localhost:15636/Plugins/Nop.Plugin.Wca.WE/Scripts/ProductDetails/ProductDetailsTooltips.js Failed to load resource: the server responded with a status of 404 (Not Found)
路径正确且文件存在
这将使您认为的第一件事是"好吧,路径一定有问题",然而,这不可能是这种情况,因为我已经在同一文件中使用以下代码验证了这一点:
@HttpRuntime.AppDomainAppPath
这个输出:
"D:'TFS_Clean2'WCA B2B Online Store'nopCommerce_B2B_3.80'Presentation'Nop. 0 "Web ' "
证明根"~/"实际上在Nop中。Web正常
也:
@File.Exists(@"D:'TFS_Clean2'WCA B2B Online Store'nopCommerce_B2B_3.80'Presentation'Nop.Web'Plugins'Nop.Plugin.Wca.WE'Scripts'ProductDetails'ProductDetailsTooltips.js")
输出"True",所以文件确实存在于这个确切位置。
我觉得值得一提的是,在这个视图文件中还有许多其他调用使用相同的路径逻辑返回部分视图,这些都按预期工作,这里有一个例子:@Html.Partial("~/Plugins/Nop.Plugin.Wca.WE/Views/ProductDetails/_ProductPrice.cshtml", Model.ProductPrice)
What I've try
-我尝试了不同的方法变化"AddCssFileParts()","AddScriptParts()"等。
-文档中有一小部分展示了如何添加这些文件,使用了一点不同的语法:http://docs.nopcommerce.com/display/nc/Adding+CSS+and+JS+resource+files+into+nopCommerce+Plugin
我已经试过了,行为没有变化。
-我已经尝试过以一些小的方式改变路径,例如删除"~/"和删除文件扩展名。
-我刷新了浏览器的缓存。
这似乎应该是一个小问题,但我已经排除了几个小时,没有任何效果。希望这里有人能给我一些启示。
我解决了这个问题,在插件的web中有一个设置。阻止访问文件的配置文件:
<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
我相信这是为了限制访问视图,但因为它是在插件的配置文件,我猜它是限制其他文件,虽然奇怪的是像我在我的帖子中提到的,我能够访问视图只是很好,所以我不太确定发生了什么。
- Word文件(Javascript?)中有哪些字符
- 获取二进制数据并将其保存为.mp3文件Javascript
- 创建包含文本内容的新 Google 云端硬盘文件 (javascript)
- 将从 URL 输出的 JSON 保存到文件 javascript
- 单个页面上的多个音频文件javascript
- 将表单数据写入json文件-javascript
- imacros提取两部分数据+连接常量保存到文件javascript
- 检索 XML 文件 (JavaScript)
- 如何将画布图像“data:image/jpeg;base64,.”转换为普通图像文件 - JavaScript
- 用固定的行名称附加文件 javascript
- 打开并读取二进制文件(JavaScript)
- 将 emacs 用于大型多文件 JavaScript 项目
- 加载外部javascript,但HTTP请求重复一个文件javascript
- 从2D数组创建图像文件-JavaScript
- 正在读取文本文件Javascript
- 通过django将STATIC_URL传递到文件javascript
- 从输入文件javascript中获取一些数据
- Django”;静态“;文件-Javascript
- 上传两次相同的图像文件-Javascript
- 从文本文件javascript中读取行/变量