Saf C # Web Sitesi

8 Cevap

C # ile bir web sitesi yapmak için öğrenmek istiyorum. Ben PHP biliyorum, ama ben daha iyi C # dili gibi. Ben gerçekten hiç ASP (PHP gibi daha az) gibi değil, çünkü şimdiye kadar gerçekten beni hayal kırıklığına vardır ASP.NET bir web sitesi yapmak için öğrenme çalıştık. Bu konuda bir şey ben bunu öğrenmek için kendimi zorlayarak bir sabit zaman yaşıyorum noktasına beni tamamen deliye. Sadece hemen C # için uzak ASP kontrol aktarmak ve daha sonra gerektiğinde PHP yaptığınız gibi HTML ve diğer şeyler de dahil olmak üzere çıkış, C # her şeyi yapmak için bir yolu var mı? Diğer bir deyişle ben web sitesi programlama PHP yolu gibi ama C # dili tercih. Herhangi bir yardım takdir edilecektir.

8 Cevap

Asp.net mvc bir göz atın: http://www.asp.net/mvc/.

Bu asp.net web formlari daha metale çok daha yakın ve bir PHP arka plandan geliyor eğer daha rahat hissetmeniz gerekir.

Iyi eğitimler sürü var burada: http://www.asp.net/Learn/mvc/

Evet, tüm istekleri işlemek için HttpHanders kullanabilirsiniz. Bir HttpHandler doğrudan bir istek aldığınızda, ve tüm kodu ile işleyebilir bir sınıftır. Bu genellikle bir görüntü için bir istek yakalamak, ve bir veritabanı için bu hizmet için kullanılır, ama kesinlikle ne istediğinizi yapmak için kullanabilirsiniz.

MSDN introduction to using HttpHandlers göz atın. Bu konuda daha fazla sorularınız varsa bir yorum gönderin.

ASP.NET MVC başka bir seçenek olduğunu, ancak hala varsayılan olarak ASPX işaretleme kullanır. Sen, potansiyel olarak, daha fazla ister başka bir görünümü motoru bulabiliriz. Ama, bu konuda hiçbir şey bilmiyorum. (edited - thanks Joel!)

Edit: httpHandlers kullanırken bir ASP.NET proje içinde hala teknik olduğunu unutmayın, ancak bu sadece istek / yanıt / Sunucu Bağlam / etc Çerçeve etrafında çalışan almak bulunuyor. Hala C # kodu ile% 100 çalışabilirsiniz.

Sadece (<% ve%> arasında) ASPX dosyası doğrudan kod koymak, herhangi bir sunucu tarafı denetimi kullanmak yok, ve sadece PHP (veya klasik ASP) gibi hissetmeniz gerekir ... Ayrıca bunu yapabilirdi Bir HttpHandler, ancak bu durumda size satır içi HTML yazma yeteneğini kaybedersiniz; tam olarak uygun değildir Response.Write kullanarak çıkış tüm biçimlendirme olurdu ...

Ben şiddetle bu yaklaşımların herhangi birine karşı tavsiye unutmayın, sizin soruya sadece cevap ;)

Ayrıca Genel Eylemciler (. Ashx) kullanabilirsiniz. Bunlar HttpContext ile tedarik ve onunla ne tamamen size kalmış.

"Ben PHP yolu gibi" takip "Ben gerçekten de (PHP gibi daha az) ASP sevmiyorum". Eğer sorun eski kırarak yaşıyorsanız ve biraz çatışmalı haline gelmiş gibi görünüyor.

Ben aynı asp.net klasik asp gelen hissettim ve geleneksel asp.net siteleri hala bana keder bir sürü vermek. Eğer taneli kontrolü daha ince bir alıştığınız zaman, yuvarlak şeyleri yapmanın daha "frameworkey" yollarını başını almak zor olabilir. Daha önce söylediğim gibi, asp.net MVC bir deneyin. IMO bu doğru dengeyi sunuyor ve benim için Asp.net sonra taze bir nefes olduğunu.

Sen oldukça saf C # kullanarak ASP.net çoğu şeyler yapabilirsiniz. Erken Ben sürükleyerek ve denetimleri ne istediğini yapmak için burada ve orada küçük kod parçacıkları ile benim sayfaların en bırakarak, ASP.net kontrol dayanıyordu. Gerçekten de öyle değil mi, ve bana (Tamam o anda oldu vb zaman-Siz beni Yargıç değil!) C # programlama tamamen farklı bir şey olarak ASP.net kodlama düşünüyorum yapmak.

Şimdi hemen hemen tüm kod ve html nesil çeşitli özel sınıflar tarafından işlenir. Benim kod arkasında sayfaları sadece benim utillity sınıflara sayfa belirli girdileri ve olay bağlayacağız. Aynı şekilde i çıktı-ben sadece arkasında benim kod üzerinde bir işlevi çağırmak için inline kodunu kullanmak gerekli değişken toplar ve benim sınıfları ağır kaldırma yapmak sağlar.

Ben kesinlikle ASP.net özel kontrollerin bazı yararlı olduğunu bulmak ve ben zaman zaman bunları kullanırım. Ben, ancak, ben birlikte benim kod koymak biçimini değiştirerek bana dilin bir bütün farklı bir fikir verdi buldun.

Www.asp.net / mvc: ASP.NET MVC iyi bir seçenek olabilir

Bu özellikle iyi bir seçenek değil, ama basit yol gitmek isterseniz CGI C # kullanabilirsiniz.