2013-07-01 27 views
0

在我的用戶控制I具有超鏈接 鏈接需要註冊後才能在cotaines用戶CONTRL頁面的同一個文件夾命名爲「export.ashx」頁面如何從用戶控制網頁的URL路徑

<asp:HyperLink CssClass="btnblue" ID="hypAddItem" Visible="false" NavigateUrl="" runat="server"><i class="icon-plus"></i> Add Part</asp:HyperLink> 

,並在我的代碼

hypAddItem.NavigateUrl = pageUrl + "Export.ashx"; 

什麼,我需要把在PAGEURL將每個文件夾上運行?

我的目錄結構

root 
    folder1 
    pageWithUC.aspx 
    export.ashx 
    folder2 
    pagewithUC.aspx 
    export.ashx 
    usercontrols 
    uc.acsx 
+1

〜/ export.aspx ...「〜」代表主目錄。 – Zaki

+0

我的export.ashx不在主目錄中。他在頁面目錄中。 – eyalb

回答

0

你可以這樣做:

var url = Request.Url.FilePath; 
var folder = System.IO.Path.GetDirectoryName(url) 
hypAddItem.NavigateUrl = folder + "/Export.ashx"; 
+0

沒有工作,給我的網址到usercontrol文件夾。 – eyalb

+0

你能告訴我目錄結構嗎? –

+0

編輯了這個問題。 – eyalb

2

這樣做:

~/folder1/export.ashx 

,如果你想第二個文件夾:

~/folder2/export.ashx 

~標誌代表您的根目錄。

你也可以回去一個目錄,從uc.acsx,並往裏走的folder1 /文件夾2:

../folder1/export.ashx 
+0

代碼在UC代碼中不在頁面中。我不想爲網址添加屬性。 – eyalb

0

您可以請求獲得當前網址,並用您的ashx的結合,就像這樣:

Uri myUri = new Uri(HttpContext.Current.Request.Url, "Export.ashx"); 

然後使用Uri類的方法來獲得相對路徑:

hypAddItem.NavigateUrl = myUri.PathAndQuery; 
0

您可以Server.MapPa嘗試(〜)然後使用文件夾