如果我在默认视图/ Home / Index
中使用以下行<script language="javascript" src="<%=Url.Content("~/Scripts/jquery-1.3.2.js")%>" type="text/javascript" ></script>
如果我使用以下网址浏览此位置 http ://127.0.0.1:9999 / Home / Index 页面正确呈现
<script language="javascript" src="/Scripts/jquery-1.3.2.js" type="text/javascript" ></script>
如果我使用以下网址 http ://127.0.0.1:9999 /(默认连接到Home / Index),页面会显示:
<script language="javascript" src="//Scripts/jquery-1.3.2.js" type="text/javascript" ></script>
有谁知道如何解决这个问题?
编辑:
仅供参考:我正在使用ASP.NET mvc 2 RC 这是我的路线配置:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
答案 0 :(得分:1)
如果您使用IIS6或WinXP Cassini,则应再注册一个路径:
if (Environment.OSVersion.Version.Major < 6) // IIS6 and WinXP Cassini
{
routes.MapRoute(
"Root",
"",
new
{
controller = "Home",
action = "Index",
id = UrlParameter.Optional
}
);
}
答案 1 :(得分:0)
我使用Request.ApplicationPath ...与Asp.net有一个非常类似的问题,并将其包装如下
public string AppRoot()
{
var appPath = Request.ApplicationPath;
if (appPath.EndsWith("/"))
return appPath;
else
return appPath + "/";
}
答案 2 :(得分:0)
为什么要将id保持为空字符串?我认为这可能会导致问题。尝试以下操作可能会找到更好的结果:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
到这个
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", UrlParameter.Optional } // Parameter defaults
);
答案 3 :(得分:0)
嗯,或者您可以执行以下操作:
在web.config文件的appSettings部分创建一个键。
<add key="DomainName" value="http://http://127.0.0.1:9999/" />
现在,无论何时你想为任何图像分配“src”值,css文件的javascript,你都可以使用这个密钥。它将为您定义一个根,然后您可以定义放置文件的路径。即在你的情况下:
<script language="javascript" src="<%=System.Configuration.ConfigurationManager.AppSettings["DomainName"] %>Scripts/jquery-1.3.2.js" type="text/javascript" ></script>