所以這讓我瘋狂......
我在Visual Studio 2015的一個網站上工作(所以從開始頁面:File> New>網站...不是新建項目> Web> ASP.NET Web應用程序),當我使用VS作爲調試器/本地主機時,事情進展順利。
現在,謹慎起見,我想上傳該網站到一個www.mysite.com/sandbox/文件夾,我可以測試一些其他項目,如數據庫訪問等(因爲該網站是活的,我不'我想要替換它,直到我準備好了)。但由於某種原因,所有文件(通過本地主機工作正常)似乎指向「/」的母版頁和其他項目,而不是「/ sandbox /」...
有沒有什麼辦法可以告訴VS根不在它認爲的地方? 到目前爲止,我已經證實,這純粹是根源位置:我謹慎地創建了一個不同的項目(使用文件名,我可以在實時服務器上輕鬆找到&刪除),以查看服務器上是否有任何錯誤,但如果我將文件中的根保存爲與服務器上的根相同(換句話說,如果我將我的網站上傳到根目錄,那麼引用就可以),它們會正常加載。順便說一句,我以前在做過這些工作的時候,我直接在一個不活躍的網站的根級別工作,並且一切正常。
是否有任何方式(可能在web.config中)我可以告訴它,我在任何時候設置了MasterPageFile =「〜/ Master/masterPage.master」它實際上應該指向MasterPageFile =「〜/沙箱/ Master/masterPage.master「?我的印象是「〜」會照顧到這一點,但顯然不是? 基於谷歌搜索,我發現在Web應用程序(而不是網站)中有一種方法來定義「Web」部分,但該選項似乎並不適用於此...爲Visual Studio 2015設置網站根(〜)
任何幫助將不勝感激。
謝謝,
JoeE
編輯:
所以,我說這看起來像一個「文本的牆」(不管這可能意味着)... 讓我透露更多的細節與步驟舉個例子,或許有人可以給我正確的方向。
- 打開VS2015,轉到文件>新建> Web站點......從
安裝選\ Tempates \ Visual Basic中\ ASP.NET空Web站點 - >確定 右鍵點擊項目解決方案下,並添加>母版頁,然後 編輯MasterPage.master有這樣的內容:
<%@ Master Language="VB" CodeFile="MasterPage.master.vb" Inherits="MasterPage" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <asp:ContentPlaceHolder id="head" runat="server"> </asp:ContentPlaceHolder> </head> <body> <form id="form1" runat="server"> <div> <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server"> Some Content from Master </asp:ContentPlaceHolder> </div> </form> </body> </html>
添加> Web窗體(默認)和編輯其內容爲:
<%@ Page Language="VB" AutoEventWireup="false" MasterPageFile="~/MasterPage.master" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<asp:Content ContentPlaceHolderID="ContentPlaceHolder1" runat="server" >
<p>Some Data from Page</p>
</asp:Content>
現在我的測試來看,它在這一點上與F5,我得到的是說,一個瀏覽器窗口「一些頁面數據」......如預期的那樣。
現在來的時間把它上傳到我的服務器(由1 & 1主持):
- 去蓋>發佈Web App的
- 資料>自定義配置文件
- 連接>發佈方式: FTP
- 服務器:example.com
- 網站路徑:/沙/
- 目標網址:http://www.example.com/sandbox/Default.aspx
- 設置>(在默認保留)
當我點擊發布,它需要我到Default.aspx頁面,但指出:
Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
Parser Error Message: The file '/MasterPage.master' does not exist.
Source Error:
Line 1: <%@ Page Language="VB" AutoEventWireup="false" MasterPageFile="~/MasterPage.master" CodeFile="Default.aspx.vb" Inherits="_Default" %>
Line 2:
Line 3: <asp:Content ContentPlaceHolderID="ContentPlaceHolder1" runat="server" >
源文件:/沙/ siteTest /默認。 ASPX線:1個
我的問題是這樣的:我在哪裏需要告訴Visual Studio中的文件夾結構的確不包含一切下的「/沙箱/」文件夾中,而不是僅僅「/」?我知道我可以進入Default.aspx文件,並將語句更改爲MasterPageFile="~/sandbox/MasterPage.master"
,但是那裏有一個更好的方法...?我期待發布選項中的條目可以做到這一點,但它不會...或者,我嘗試以編程方式在PreInit事件期間更改此設置,但這並不奏效...
謝謝, Ĵ
你可能要考慮重寫這個。在目前的形式中,這看起來像是一長串文字。 –