Tôi đang cố gắng xây dựng một "ứng dụng vi mô" rất đơn giản mà tôi nghi ngờ sẽ được một số Stack Overflow'rs quan tâm nếu tôi hoàn thành nó. Tôi đang lưu trữ nó trên trang C # của tôi trong trang web Depth, đó là vanilla ASP.NET 3.5 (tức là không phải MVC).
Dòng chảy rất đơn giản:
- Nếu người dùng vào ứng dụng bằng một URL không chỉ định tất cả các tham số (hoặc nếu bất kỳ tham số nào không hợp lệ) tôi muốn chỉ hiển thị các điều khiển nhập của người dùng. (Chỉ có hai.)
- Nếu người dùng nhập các ứng dụng với một URL mà không có tất cả các thông số cần thiết, tôi muốn hiển thị các kết quả và các điều khiển đầu vào (để họ có thể thay đổi các thông số)
Dưới đây là các yêu cầu tự áp đặt của tôi (hỗn hợp thiết kế và thực hiện):
- Tôi muốn bài đăng sử dụng GET thay vì POST, chủ yếu để người dùng có thể đánh dấu trang dễ dàng.
- Tôi không muốn URL cuối cùng trông thật ngớ ngẩn sau khi gửi, với các bit và phần không liên quan trên đó. Chỉ cần URL chính và các thông số thực sự xin vui lòng.
- Lý tưởng nhất là tôi muốn tránh yêu cầu JavaScript. Không có lý do chính đáng cho nó trong ứng dụng này.
- Tôi muốn có thể truy cập các điều khiển trong thời gian kết xuất và đặt giá trị, v.v. Đặc biệt, tôi muốn có thể đặt các giá trị mặc định của các điều khiển thành các giá trị tham số được truyền vào, nếu ASP.NET không thể tự động làm điều này đối với tôi (trong các hạn chế khác).
- Tôi rất vui khi tự mình thực hiện tất cả các xác thực tham số và tôi không cần nhiều đến các sự kiện phía máy chủ. Thật đơn giản để đặt mọi thứ khi tải trang thay vì gắn các sự kiện vào các nút, v.v.
Hầu hết điều này đều ổn, nhưng tôi chưa tìm thấy cách nào để loại bỏ hoàn toàn khung nhìn và giữ phần còn lại của chức năng hữu ích. Sử dụng bài đăng từ bài đăng trên blog này, tôi đã quản lý để tránh nhận được bất kỳ giá trị thực tế nào cho chế độ xem - nhưng nó vẫn kết thúc như một tham số trên URL, trông thực sự xấu xí.
Nếu tôi biến nó thành một dạng HTML đơn giản thay vì một dạng ASP.NET (nghĩa là lấy ra runat="server"
) thì tôi không nhận được bất kỳ khung nhìn ma thuật nào - nhưng sau đó tôi không thể truy cập các điều khiển theo chương trình.
Tôi có thể làm tất cả những điều này bằng cách bỏ qua hầu hết ASP.NET và xây dựng một tài liệu XML với LINQ to XML và triển khai IHttpHandler
. Điều đó cảm thấy một chút mức độ thấp mặc dù.
Tôi nhận ra rằng các vấn đề của tôi có thể được giải quyết bằng cách nới lỏng các ràng buộc của tôi (ví dụ: sử dụng POST và không quan tâm đến tham số dư thừa) hoặc bằng cách sử dụng ASP.NET MVC, nhưng các yêu cầu của tôi có thực sự không hợp lý không?
Có lẽ ASP.NET chỉ không quy mô xuống để sắp xếp của ứng dụng? Mặc dù có một sự thay thế rất có thể: Tôi chỉ là ngu ngốc, và có một cách làm hoàn toàn đơn giản mà tôi chưa tìm thấy.
Có ai nghĩ gì không? (Đưa ra ý kiến về việc làm thế nào sức mạnh bị sụp đổ, v.v ... Điều đó tốt - tôi hy vọng tôi chưa bao giờ tự nhận mình là chuyên gia ASP.NET, vì sự thật hoàn toàn ngược lại ...)