【1】ルートURL文字列を取得("~"チルダ相当)するには
サンプル1
Dim requestUri As Uri = New Uri(Request.Url, Request.ApplicationPath)
参考文献
http://d.hatena.ne.jp/nanamasuhoshi/20090205/1233825202【2】"~"チルダをHTMLのタグに使用するには
* ResolveUrl(string url)を使う
サンプル1
<a href="<%=ResolveUrl("~/Default.aspx") %>">HOME</a>
注意事項
* ただし、imgタグには使えないらしい。
参考文献
http://d.hatena.ne.jp/fskkoba/20101028/1288232314http://msdn.microsoft.com/ja-jp/library/system.web.ui.control.resolveurl.aspx
サンプル2
<script src="<%= this.ResolveClientUrl("~/aaa.js") %>" type="text/javascript"> </script>
参考文献
http://csharper.blog57.fc2.com/blog-category-6.html【3】リンク元URLの取得するには
* 「HttpRequest.UrlReferrer プロパティ」で取得 => HttpRequest.UrlReferrer プロパティは、クライアントが前回要求した URL に関する情報を取得
サンプル
Dim refUri As Uri = Request.UrlReferrerr
注意
UrlRefererプロパティは、クライアントがリクエスト時にセットしてきたリクエスト・ヘッダの内容を取得しているにすぎないので、クライアント側で作為的にリクエスト・ヘッダを偽造していたら、これを防ぐ手段はないということだ
参考文献
http://msdn.microsoft.com/ja-jp/library/system.web.httprequest.urlreferrer%28v=vs.80%29.aspxhttp://www.atmarkit.co.jp/fdotnet/dotnettips/180asprequrl/asprequrl.html
http://blog.livedoor.jp/my_sk/archives/105467.html
【5】Webサイトのルートの物理パスを取得するには
サンプル
Dim rootPath As String = Server.MapPath("~")
参考文献
http://msdn.microsoft.com/ja-jp/library/ms178116%28v=vs.80%29.aspxhttp://www.atmarkit.co.jp/fdotnet/dotnettips/804asprootpath/asprootpath.html[http://tukaenai-pg.cocolog-nifty.com/blog/aspnet20/index.html
デザイン(~/aspx)上の記述について
Namespaceのインポート
<%@ Import Namespace"【インポートしたい名前空間】" %>
ヘッダー部でのインポート
デザイン(~/aspx)側
<head> <link href=”<%=ResolveUrl("~/【インポートしたいCSS】") %>” rel="StyleSheet" type="text/css" /> <script src="<%= ResolveUrl("~/【インポートしたいJS】") %> type="text/javascript""></script> </head>
デザイン(~/aspx)側
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load ' JSのため Me.Page.Header.DataBind() End Sub