2012-03-19 46 views
23

我剛剛繼承了一個由設計者創建的網站。該網站最初是用所有* .html文件創建的。設計人員將所有* .html文件重命名爲* .aspx文件。因此沒有創建aspx.cs文件。我將該網站引入新的VS2012解決方案。我的問題是,VS 2010中有沒有一種方法可以爲現有的獨立aspx文件自動創建代碼背後的代碼?創建aspx後的文件後面的代碼

+0

你不能,不是真的 - 只是重命名一個HTML文件沒有一個ASPX讓 - 你需要的聲明頭頂部,例如,它引用類,後面的代碼等。將文件重命名回來比較容易,然後添加新的ASPX頁面並將HTML複製到這些頁面中。你有多少個文件? – dash 2012-03-19 12:54:30

+0

自動執行此操作的工具非常棒。 – Myster 2012-12-10 04:47:39

回答

18

我不知道一個自動化的方式來做到這一點,但如果現有* .aspx文件中沒有服務器端代碼,那麼它應該只是一個添加.cs代碼隱藏文件然後連接它們的情況了在<%@ Page標籤,像這樣:

<%@ Page Title="YourPageTitle" Language="C#" AutoEventWireup="true" CodeBehind="YourPage.aspx.cs" Inherits="YourNamespace.YourPage" %> 

注意:這不會造成YourPage.aspx.designer.cs文件。 (我通常刪除這些無論如何,因爲它們導致合併問題 - 我發現它更容易添加我需要手動引用我的代碼隱藏文件的控件。)

另一種方法是創建一個新的「Web窗體」爲每個頁面提供正確的名稱,然後將現有標記複製並粘貼到它們中。如果在現有的* .aspx文件中有服務器代碼,則需要手動將其複製到代碼隱藏文件中。

+0

聲音就像是手動創建文件的唯一方法。聽起來像一個意見箱。 – 2012-03-22 19:46:44

+1

@MikeMurphy是的,我瀏覽了一些VS2010擴展,比如'VSCommands'和'Productivity Power Tools'。我仍然不相信他們對此無能爲力,但我在最初的搜索中找不到任何東西。如果你有更多的時間比我搜索,我敢肯定你可以找到你需要的東西。如果沒有,你總是可以創建自己的擴展? – Robbie 2012-03-22 19:54:18

+0

如果您安裝了ReSharper,它將爲您完成這項工作。 – vgaltes 2015-02-19 16:27:26

5

基於我在這裏找到:http://forums.asp.net/t/1229894.aspx/1

  1. 右鍵單擊您的解決方案資源管理器。
  2. 添加新項目 - >類文件。
  3. 將文件命名爲您的aspx的名稱例如:Default.aspx.cs
  4. 當它詢問您該文件應該在app_code中時,請單擊「否」。
  5. 在頁面上你的aspx屬性添加

    AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" 
    
  6. 同樣,在剛剛添加刪除一切您的類文件。您的類應該是這樣的:

    //all namespaces go here 
    
    
    public partial class Default : System.Web.UI.Page 
    { 
        protected void Page_Load(object sender, EventArgs e) 
        { 
        } 
    } 
    
+0

爲什麼默認?它不應該是你正在創建的任何頁面的名稱嗎?當然你會有數百個這樣的頁面不應該背後的代碼都不一樣嗎?在這兩種情況下,它不會是網頁的名稱(cs文件和aspx頁面? – ggb667 2014-11-22 00:49:12

+0

默認僅用作示例。如果可以,請隨意清除它。 – 2014-11-22 08:50:09

3

在Visual Studio 2012:右鍵單擊項目 - >點擊添加 - >單擊Web窗體 - >你原來的aspx文件的內容複製到新的WebForm aspx - >刪除原始的aspx文件 - >將新的重命名爲任何你想要的。 現在你應該有一個新的aspx文件,其代碼位於文件後面,可以使用

1

添加新的.cs文件後,您可能希望看到文件看起來像代碼隱藏文件(縮進,圖標等) )。要做到這一點:

  1. 卸載項目
  2. 編輯項目
  3. 查找與文件中的部分新的文件名(file.aspx.cs)。
  4. 爲DependentUpon添加一個xml節點。
  5. 保存並關閉該項目
  6. 刷新該項目

對於文件Profile.aspx。CS中,XML應該是這個樣子:

<Compile Include="Profile.aspx.cs"> 
    <DependentUpon>Profile.aspx</DependentUpon> 
    <SubType>ASPXCodeBehind</SubType> 
</Compile> 
+0

對於我,我只關閉了Visual Studio ,編輯了項目,並重新打開了解決方案。感謝提醒關於CS和ASPX鏈接的地方。 – Michael 2018-02-11 22:07:13

相關問題