但是一些靜態的內容,以及一些腳本文件的路徑如果在自定義控件中引用,而后這個自定義控件又要在不同的母板頁,或者不同的目錄下引用.那就不可避免的會出現路徑問題了.
解決方法也很簡單:
代碼如下:
script language="javascript" type="text/javascript" src='<%=ResolveUrl("~/js/media.js") %>'></script>
<%=ResolveUrl("~/js/media.js") %>'>正是ASP.NET獲取絕對路徑的輸出方法.
另:
如果路徑問題存在于javascript腳本中
在后臺已經將其內容寫好:
代碼如下:
protected void Page_Load(object sender, EventArgs e)
{
string swf = ResolveUrl("~/images/flash_menu20090430.swf");
string menu =ResolveUrl("~/menu.xml");
string list = ResolveUrl("~/list.xml");
this.Literal1.Text = "var swf=/"" + swf + "/";var menu=/"" + menu + "/";var list=/"" + list + "/";";
}
用Literal控件在script腳本中:
代碼如下:
<script type="text/javascript"><!--
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
var so = new SWFObject(swf, "mymovie", "948", "307", "8", "#ffffff");
so.addVariable("menuurl", ReplaceMystr(menu));
so.addParam("wmode", "opaque");
so.addVariable("listurl", ReplaceMystr(list));
so.write("flashkv");
// --></script>