积极答复者
母板里这样写合理吗

问题
-
我发现我的iis里不转成应用程序项目就有问题,我的代码如下,请指出问题在哪,怎样实践最好
<%@ Master Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<asp:ContentPlaceHolder id="head" runat="server">
<meta name="ROBOTS" content="INDEX,FOLLOW,ALL"/>
<meta name="revisit-after" content="2 days"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="verify-v1" content="3ZPpEkpvxtoloOODltw53dhz+WlFkCBzjm842GpEIGM=" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="Shortcut Icon" href="<%=Request.ApplicationPath %>/image/favicon.ico" />
<script type="text/javascript" src="<%=Request.ApplicationPath %>/javascript/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="<%=Request.ApplicationPath %>/javascript/jquery.pngFix.pack.js"></script>
<script type="text/javascript" src="<%=Request.ApplicationPath %>/javascript/ddsmoothmenu.js"></script>
<script type="text/javascript" src="<%=Request.ApplicationPath %>/javascript/jquery.corner.js"></script>
<script type="text/javascript" src="<%=Request.ApplicationPath %>/javascript/swfobject_source.js"></script>
<script src="<%=Request.ApplicationPath %>/javascript/ui.core.js" type="text/javascript"></script>
<script src="<%=Request.ApplicationPath %>/javascript/ui.tabs.js" type="text/javascript"></script>
<script type="text/javascript" src="<%=Request.ApplicationPath %>/javascript/modules/GrobalPointLLC.js"></script>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
try {
var pageTracker = _gat._getTracker("UA-7157272-2");
pageTracker._trackPageview();
} catch(err) {}
ddsmoothmenu.init({
mainmenuid: "smoothmenu1", //menu DIV id
orientation: 'h', //Horizontal or vertical menu: Set to "h" or "v"
classname: 'ddsmoothmenu', //class added to menu's outer DIV
//customtheme: ["#f5bd50", "#18374a"],
contentsource: "markup" //"markup" or ["container_id", "path_to_menu_file"]
})
$(function() {
$('#rotate > ul').tabs({ fx: { opacity: 'toggle' } }).tabs('rotate', 4000);
});
</script>
</asp:ContentPlaceHolder>
</head>
<body>
<div id="banner">
<div id="bannerLogo">
<div id="logo"><a href="<%=Request.ApplicationPath %>/index.aspx"><asp:Image ID="Image1" runat="server" ImageUrl="image/logo.png" alt="GlobalPoint"/></a></div>
<div id="search">
<p>800<span style="font-size:8px;">•</span>380<span style="font-size:8px;">•</span>8595</p>
<input type="text" style="height: 15px;" /> <input
style="width: 21px; height: 21px; background: url(<%= Request.ApplicationPath %>/image/search.png) no-repeat bottom left; border: 0px;"
type="submit" value="" /></div>
</div>
<div id="menu">
<div class="ddsmoothmenu" id="smoothmenu1">
<ul>
<li class="useformat ie6submenu"><a href="<%=Request.ApplicationPath %>/index.aspx"><span style="_margin:0 5px;">Home</span></a></li>
<li class="memuformat"><a href="<%=Request.ApplicationPath %>/aboutUs.aspx">About Us</a>
<ul
style="display: none; top: 29px; visibility: visible; left: 0px; ">
<li><a class="fixIE" href="<%=Request.ApplicationPath %>/aboutUs.aspx#mission">Mission</a></li>
<li><a class="fixIE" href="<%=Request.ApplicationPath %>/contact.aspx">Location</a></li>
<li><a class="fixIE" href="<%=Request.ApplicationPath %>/aboutUs/workingWithUs.aspx">Working With Us</a></li>
<li><a class="fixIE" href="<%=Request.ApplicationPath %>/aboutUs/communityOutreach.aspx">Community
Outreach</a></li>
<li><a class="fixIE" href="<%=Request.ApplicationPath %>/aboutUs/career.aspx">Career</a></li>
</ul>
</li>
<li class="memuformat"><a href="<%=Request.ApplicationPath %>/services.aspx">Services</a>
<ul
style="display: none; top: 29px; visibility: visible; left: 0px; width: 171px;">
<li><a class="fixIE" href="<%=Request.ApplicationPath %>/services/infrastructure.aspx">Infrastructure</a></li>
<li><a class="fixIE" href="<%=Request.ApplicationPath %>/services/managed.aspx">Managed Services</a></li>
<li><a class="fixIE" href="<%=Request.ApplicationPath %>/services/security.aspx">Security</a></li>
<li><a class="fixIE" href="<%=Request.ApplicationPath %>/services/projectManagement.aspx">Project
Management</a></li>
<li><a class="fixIE" href="<%=Request.ApplicationPath %>/services/desktopSupport.aspx">Desktop Support</a></li>
<li><a class="fixIE" href="<%=Request.ApplicationPath %>/services/sqlAdministration.aspx">SQL
Administration</a></li>
<li><a class="fixIE" href="<%=Request.ApplicationPath %>/services/sharepoint.aspx">SharePoint</a></li>
<li><a class="fixIE" href="<%=Request.ApplicationPath %>/services/crm.aspx">CRM</a></li>
<li><a class="fixIE" href="<%=Request.ApplicationPath %>/services/voIP.aspx">VoIP</a></li>
</ul>
</li>
<li class="memuformat"><a href="<%=Request.ApplicationPath %>/contact.aspx">Contact</a>
<ul
style="display: none; top: 29px; visibility: visible; left: 0px; width: 171px;">
<li><a class="fixIE" href="<%=Request.ApplicationPath %>/contact.aspx#chicago">Chicago</a></li>
<li><a class="fixIE" href="<%=Request.ApplicationPath %>/contact.aspx#northern">Northern Suburbs</a></li>
<li><a class="fixIE" href="<%=Request.ApplicationPath %>/contact.aspx#western">Western Suburbs</a></li>
</ul>
</li>
<li class="memuformat"><a href="<%=Request.ApplicationPath %>/support.aspx">Support</a>
<ul
style="display: none; top: 29px; visibility: visible; left: 0px; width: 171px;">
<li><a class="fixIE" href="<%=Request.ApplicationPath %>/support/networkResources.aspx">Network Resources</a></li>
<li><a class="fixIE" href="<%=Request.ApplicationPath %>/support/desktop.aspx">Windows Desktop</a></li>
<li><a class="fixIE" href="<%=Request.ApplicationPath %>/support/windowsServers.aspx">Windows Servers</a></li>
<li><a class="fixIE" href="<%=Request.ApplicationPath %>/support/exchangeServer.aspx">Exchange Server</a></li>
<li><a class="fixIE" href="<%=Request.ApplicationPath %>/support/development.aspx">Development</a></li>
<li><a class="fixIE" href="<%=Request.ApplicationPath %>/support/backup.aspx">Backup Resources</a></li>
<li><a class="fixIE" href="<%=Request.ApplicationPath %>/support/antivirus.aspx">Antivirus Tools</a></li>
</ul>
</li>
<li class="memuformat"><a href="<%=Request.ApplicationPath %>/partners.aspx">Partners</a>
<ul
style="display: none; top: 29px; visibility: visible; left: 0px; width: 171px;">
<li><a class="fixIE" href="<%=Request.ApplicationPath %>/partners/technologyPartner.aspx">Technology
Partner</a></li>
<li><a class="fixIE" href="<%=Request.ApplicationPath %>/partners/projectPartner.aspx">Project Partners</a></li>
</ul>
</li>
<li class="useformat"><a href="<%=Request.ApplicationPath %>/login.aspx" style="border: 0;"><span style="_margin:0 6px;">Login</span></a></li>
</ul>
<br style="clear: left;" />
</div>
</div>
</div>
<div>
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
<div id="footer">
<div class="fleft">
Global Point LLC © 2008-2009 •
<a href="<%=Request.ApplicationPath %>/privacy.aspx">Privacy Policy</a> •
<a href="<%=Request.ApplicationPath %>/sitemap.aspx">Site Map</a>
</div>
<div class="fright">
<span>RSS</span>
<a href="#"><asp:Image ID="Image2" runat="server" ImageUrl="~/image/rss.png" alt="RSS" /></a>
</div>
<div style="display: none"><a href="http://www.gnusquad.com">Developed by GNUSquad</a></div>
</div>
</body>
</html>
答案
-
1,采用绝对路径,在将网站部署在虚拟目录下是是存在问题的。
2,采用相对目录,在不同的文件夹下的aspx是无法定位的。
所以,如果要做到兼容,好的做法是程序自动识别路径。
下面的方法就适应上面的所有情况:
<script type="text/javascript" src="<%=Page.ResolveUrl("~/javascript/t.js")%>"></script> <script type="text/javascript" src="<%=Request.ApplicationPath=="/"?"":Request.ApplicationPath%>/javascript/t.js"></script>
当然,计算路径的方法还有多种,上面是比较简洁的方法。你可以将所有的script包含做成一个用户控件,每个文件使用的时候只需要拖放这个用户控件即可,无需每个文件都写一块js文件的包含。
另外,特别注意:~只能用在服务器端和服务器控件,js,css是不能使用的。
【孟子E章】- 已标记为答案 KeFang Chen 2009年10月5日 1:46
- 已标记为答案 KeFang Chen 2009年10月5日 1:51
-
不是这样做的,相对路径找不到,先说下我的目录结构
master引用了javascript,这里是所有页面都同一的javascript
按照楼上你的方法修改之后:
index.aspx找得到 (这个是在网站根目录)
abc/123.aspx (这里有一层文件夹abc,下面的123.aspx就找不到javascript)
用你的相对路径做的,就是找不到哦
您好,所谓的相对路径,是指相对于当前网页的,在abc/123.aspx中就是相对于123.aspx,那么需要用../ /模式。如:<script type="text/javascript" src="../javascript/jquery-1.3.2.min.js"></script>这样。
这样的话,就需要您准备两个master。
如果想只要一个master,则采用<script type="text/javascript" src="<%=Page.ResolveUrl("~/javascript/jquery-1.3.2.min.js")%>"></script>。
在另一个贴子我也提到了,楼上的几位版主都已提到了。希望有帮助!- 已标记为答案 KeFang Chen 2009年10月5日 1:46
- 已标记为答案 KeFang Chen 2009年10月5日 1:51
全部回复
-
下面是我插入的javascript写法,感觉不是最好,因为不把项目专成应用程序,这些javascript是找不到的,有别的直接点的例子吗,谢谢
<script type="text/javascript" src="<%=Request.ApplicationPath %>/javascript/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="<%=Request.ApplicationPath %>/javascript/jquery.pngFix.pack.js"></script>
<script type="text/javascript" src="<%=Request.ApplicationPath %>/javascript/ddsmoothmenu.js"></script>- 已合并 KeFang Chen 2009年10月5日 1:50 reduplicate thread
-
我用JS做过一个本地的HTML文件阅读器,我也考虑到每一个页面都要添加很多js引用很麻烦。
所以我就想通过每一个页面只指定一个js引用,然后把其他js引用都放到调用进来。
让每个文件夹层级的js引用都自动计算路径进行引用。
你可以看看,里面有个Source文件夹的AutoPage.js有那个方法
希望对你有用。
可以从以下页面下载到那个程序。
http://cid-bd89f4aa76e99184.skydrive.live.com/browse.aspx/.Public
做最好的自己 -
楼主,你好
^_^你重发帖子了。
把所有的脚本放在一个专门的文件夹下,然后采用相对定位就行了。如:
<script type="text/javascript" src="javascript/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="javascript/jquery.pngFix.pack.js"></script>
这样采用相对路径应该没问题了。
Microsoft Online Community Support- 已编辑 KeFang Chen 2009年10月2日 4:41 js里面无法完全的做到绝对定位
-
1,采用绝对路径,在将网站部署在虚拟目录下是是存在问题的。
2,采用相对目录,在不同的文件夹下的aspx是无法定位的。
所以,如果要做到兼容,好的做法是程序自动识别路径。
下面的方法就适应上面的所有情况:
<script type="text/javascript" src="<%=Page.ResolveUrl("~/javascript/t.js")%>"></script> <script type="text/javascript" src="<%=Request.ApplicationPath=="/"?"":Request.ApplicationPath%>/javascript/t.js"></script>
当然,计算路径的方法还有多种,上面是比较简洁的方法。你可以将所有的script包含做成一个用户控件,每个文件使用的时候只需要拖放这个用户控件即可,无需每个文件都写一块js文件的包含。
另外,特别注意:~只能用在服务器端和服务器控件,js,css是不能使用的。
【孟子E章】- 已标记为答案 KeFang Chen 2009年10月5日 1:46
- 已标记为答案 KeFang Chen 2009年10月5日 1:51
-
不是这样做的,相对路径找不到,先说下我的目录结构
master引用了javascript,这里是所有页面都同一的javascript
按照楼上你的方法修改之后:
index.aspx找得到 (这个是在网站根目录)
abc/123.aspx (这里有一层文件夹abc,下面的123.aspx就找不到javascript)
用你的相对路径做的,就是找不到哦
您好,所谓的相对路径,是指相对于当前网页的,在abc/123.aspx中就是相对于123.aspx,那么需要用../ /模式。如:<script type="text/javascript" src="../javascript/jquery-1.3.2.min.js"></script>这样。
这样的话,就需要您准备两个master。
如果想只要一个master,则采用<script type="text/javascript" src="<%=Page.ResolveUrl("~/javascript/jquery-1.3.2.min.js")%>"></script>。
在另一个贴子我也提到了,楼上的几位版主都已提到了。希望有帮助!- 已标记为答案 KeFang Chen 2009年10月5日 1:46
- 已标记为答案 KeFang Chen 2009年10月5日 1:51