Ban*_*hee 4 javascript asp.net-mvc reference include
嗨,
我有一个ASP.NET MVC站点,我在MasterPage中使用以下链接
<script type="text/javascript" src="../../../Scripts/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="../../../Scripts/jquery-ui-1.8.11.custom.min.js"></script>
<script type="text/javascript" src="../../../Scripts/jquery.cascadingDropDown.js"></script>
<script type="text/javascript" src="../../../Scripts/jquery.maskedinput-1.2.2.js"></script>
Run Code Online (Sandbox Code Playgroud)
从Visual Studio 2010中的内置IIS和主机(IIS7)运行时,此方法正常.但是当在默认网站\ MySite下的我自己的IIS7中部署它时,脚本将获得如下路径:
http://localhost/Scripts/jquery.cascadingDropDown.js
Run Code Online (Sandbox Code Playgroud)
代替 :
http://localhost/myPage/Scripts/jquery.cascadingDropDown.js
Run Code Online (Sandbox Code Playgroud)
为什么这可以在VS IIS和我的主机IIS中工作,但不能在我的本地计算机IIS上工作?
除此之外网页也很好.
我在ASP.NET MVC中重复了两个绝对基本的规则:
永远不要像你那样对网址进行硬编码.
在ASP.NET MVC应用程序中处理URL时,始终使用Url帮助程序.
我已经在数以万计的类似问题中重复了这么多次,但我仍然看到人们硬编码.
所以如果你使用Razor:
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery-ui-1.8.11.custom.min.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.cascadingDropDown.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.maskedinput-1.2.2.js")"></script>
Run Code Online (Sandbox Code Playgroud)
如果您使用的是WebForms视图引擎:
<script type="text/javascript" src="<%= Url.Content("~/Scripts/jquery-1.4.4.min.js") %>"></script>
<script type="text/javascript" src="<%= Url.Content("~/Scripts/jquery-ui-1.8.11.custom.min.js") %>"></script>
<script type="text/javascript" src="<%= Url.Content("~/Scripts/jquery.cascadingDropDown.js") %>"></script>
<script type="text/javascript" src="<%= Url.Content("~/Scripts/jquery.maskedinput-1.2.2.js") %>"></script>
Run Code Online (Sandbox Code Playgroud)
嘿,如果您使用的是ASP.NET MVC 4(Razor 2.0),那就有一个巧妙的诀窍:
<script type="text/javascript" src="~/Scripts/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="~/Scripts/jquery-ui-1.8.11.custom.min.js"></script>
<script type="text/javascript" src="~/Scripts/jquery.cascadingDropDown.js"></script>
<script type="text/javascript" src="~/Scripts/jquery.maskedinput-1.2.2.js"></script>
Run Code Online (Sandbox Code Playgroud)
请注意~/?WebPages 2.0 Url.Content在运行时自动应用它以生成正确的URL.
| 归档时间: |
|
| 查看次数: |
2423 次 |
| 最近记录: |