Çok, çok basit bir "mikro-webapp" oluşturmaya çalışıyorum ki bunu başarırsam birkaç Stack Overflow'unun ilgisini çekeceğinden şüpheleniyorum. Bunu, Vanilla ASP.NET 3.5 olan (yani MVC olmayan) Depth sitemde barındırıyorum.
Akış çok basit:
- Bir kullanıcı uygulamaya tüm parametreleri belirtmeyen bir URL ile girerse (veya bunlardan herhangi biri geçersizse) yalnızca kullanıcı giriş kontrollerini görüntülemek istiyorum. (Sadece iki tane var.)
- Bir kullanıcı bir URL ile uygulamayı girerse yaptığı tüm gerekli parametreleri var, sonuçlarını görüntülemek istediğiniz ve giriş kontrolleri (bunlar parametrelerini değiştirebilir böylece)
İşte kendi kendime empoze edilen gereksinimlerim (tasarım ve uygulamanın karışımı):
- Gönderimin POST yerine GET kullanmasını istiyorum, çoğunlukla kullanıcılar sayfaya kolayca yer işareti koyabilir.
- Ben yok URL üzerinde gereksiz bit ve parçaları ile gönderildikten sonra saçma görsterme istiyorum. Lütfen sadece ana URL ve gerçek parametreler.
- İdeal olarak JavaScript gerektirmekten kaçınmak isterim. Bu uygulamada bunun için iyi bir neden yok.
- Oluşturma zamanı sırasında denetimlere erişebilmek ve değerleri vb. Ayarlamak istiyorum. Özellikle, ASP.NET bunu otomatik olarak yapamazsa, denetimlerin varsayılan değerlerini, iletilen parametre değerlerine ayarlayabilmek istiyorum. benim için (diğer kısıtlamalar dahilinde).
- Tüm parametre doğrulamasını kendim yapmaktan mutluyum ve sunucu tarafı olayları açısından çok ihtiyacım yok. Düğmelere etkinlik eklemek yerine her şeyi sayfa yüklemesinde ayarlamak gerçekten çok basit.
Bunların çoğu sorun değil, ancak görünüm durumunu tamamen kaldırmanın ve yararlı işlevselliğin geri kalanını korumanın bir yolunu bulamadım . Yayının kullanarak bu blog yayınında herhangi fiili almamak başardınız değeri Görünüm durumu için - ama yine de gerçekten çirkin görünüyor URL üzerinde bir parametre olarak sona erer.
Eğer onu bir ASP.NET formu yerine düz bir HTML formu yaparsam (yani çıkarırsam runat="server"
) o zaman sihirli bir görünüm durumu elde edemem - ama o zaman kontrollere programla erişemiyorum.
Ben olabilir ASP.NET çoğunu görmezden ve XML LINQ ile bir XML belgesi oluşturarak ve uygulayarak tüm bu yapmak IHttpHandler
. Bu biraz düşük seviyede olsa da.
Sorunlarımın ya kısıtlamalarımı gevşeterek (örneğin, POST kullanarak ve artı parametresini önemsemeyerek) ya da ASP.NET MVC kullanarak çözülebileceğinin farkındayım, ancak gereksinimlerim gerçekten mantıksız mı?
Belki ASP.NET sadece ölçek değildir aşağı uygulamanın bu tür? Yine de çok muhtemel bir alternatif var: Sadece aptallaşıyorum ve bunu yapmanın henüz bulamadığım mükemmel basit bir yolu var.
Herhangi bir fikrin var mı? (Kudretli olanların nasıl düştüğüne dair ipucu yorumlar, vb. Sorun değil - Umarım hiçbir zaman bir ASP.NET uzmanı olduğumu iddia etmemiştim, çünkü gerçek tam tersi ...)