2012-03-19 28 views
23

Sadece tasarımcı tarafından oluşturulan bir web sitesini miras aldım. Site ilk olarak tüm * .html dosyalarıyla oluşturuldu. Tasarımcı, tüm * .html dosyalarını * .aspx dosyalarına yeniden adlandırdı. Bu nedenle, aspx.cs dosyası oluşturulmamıştır. Siteyi yeni bir VS2012 çözümüne çektim. Sorum şu: VS 2010'da varolan bir tek başına aspx dosyası için dosyaların arkasındaki kodu otomatik olarak oluşturmak için bir yol var mı?Aspx oluşturulduktan sonra dosyanın arkasında kod oluştur

+0

: cs, xml bu gibi görünmelidir sınıf, arkasındaki kod vb. Dosyaları yeniden adlandırmak daha kolay olurdu ve sonra sadece yeni ASPX sayfaları ekleyin ve HTML'yi bunlara kopyalayın. Kaç dosya var? – dash

+0

Bunu otomatikleştirmek için bir araç harika olurdu. – Myster

cevap

18

Bunu yapmak için otomatik bir yol bilmiyorum, ancak varolan * .aspx dosyalarında sunucu tarafı kodu yoksa, o zaman sadece .cs codebehind dosyalarını eklemek ve sonra bunları kablolamak gerekir şöyle <%@ Page etiketinde up:

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

not: Bu YourPage.aspx.designer.cs dosya oluşturmaz. (Genellikle bunları birleştirme sorunlarına neden olduğu için siliyorum - kod arkaplan dosyama el ile başvurmak için gereken denetimleri eklemeyi daha kolay buluyorum.)

Diğer bir seçenek de yeni bir "Web Formu" oluşturmaktır. Her sayfa için doğru isimleri ve ardından mevcut işaretlemeyi kopyalayıp onlara yapıştırın. Mevcut * .aspx dosyalarında sunucu kodunuz varsa, kodu arkasına kopyalamanız gerekir. Burada ne buldum dayanarak

+0

Bunu yapmanın tek yolu, dosyaları el ile oluşturmaktır. Öneri kutusu için bir tane gibi geliyor. –

+1

@MikeMurphy Evet, VS2010 uzantılarından bazılarına "VScommands" ve "Productivity Power Tools" gibi bir göz attım. Hala buna yardımcı olamayacağına ikna olmadım ama ilk aramamda bir şey bulamadım. Aradığımdan daha fazla zamanın varsa, ihtiyacın olanı yapacak bir şey bulabileceğine eminim. Kendi uzantınızı her zaman oluşturamamanız mı? – Robbie

+0

ReSharper kuruluysa, bu sizin için iş yapar. – vgaltes

5

: http://forums.asp.net/t/1229894.aspx/1

  1. Sağ çözüm kaşif tıklayın.
  2. Yeni Öğe Ekle -> Sınıf Dosyası.
  3. Dosyayı aspx'inizin adı olarak adlandırın örn .: Default.aspx.cs
  4. Dosya soran app_code olması gerektiğinde "hayır" ı tıklatın. sayfanızda aspx olarak
  5. Benzer sadece her şeyi kaldırın eklendi sınıf dosyasında

    AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" 
    
  6. eklemek bağlıyor. Sınıfınız bu gibi görünmelidir:

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

Neden Varsayılan? Oluşturduğun sayfanın adı olmamalı mı? Elbette, bu sayfaların yüzlerce bölümü olacak. Kodun arkasındaki her şey farklı değil mi? Bu durumda her iki durumda da web sayfasının adı olmaz mı (cs dosyası ve aspx sayfası? – ggb667

+0

Varsayılan sadece örnek olarak kullanılmıştır. Eğer yapabilirseniz temizlemek için çekinmeyin. –

3

Visual Studio 2012'de: Sağ proje üzerinde tıklayın -> Ekle tıklayın -> tıklayın Web Formu -> içine orijinal aspx dosyası içeriğini kopyalayın Yeni WebForm aspx -> orijinal aspx dosyasını sil -> Yeni olanı istediğiniz herhangi bir şeye yeniden adlandır. Şimdi, kullanıma hazır bir kod içeren bir kod içeren yeni bir aspx dosyanız olmalıdır

1

Yeni .cs dosyasını ekledikten sonra, dosyanın bir codebehind dosyası gibi görünmesini isteyebilirsiniz (girintili, simge vb.)). Bunu yapmak için:

  1. Boşalt projesi
  2. Düzenleme projesi
  3. dosyalarla bölümde yeni bir dosya adı (file.aspx.cs) bulun.
  4. DependentUpon için bir xml düğüm ekleyin.
  5. Kaydet ve projeyi
  6. Yeniden bir dosya Profile.aspx için proje

kapatın.Sadece bir ASPX yapmaz bir HTML dosyası yeniden adlandırma - - örneğin üst kısımda bildirerek başlığı ihtiyaç, hangi başvuran Sen, gerçekten can not

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

Benim için sadece Visual Studio'yu kapattım , Projeyi düzenledik ve Çözümü yeniden açtı. CS ve ASPX'in bağlandığı yerdeki hatırlatıcı için teşekkürler. – Michael

İlgili konular