私は、非常にシンプルな「マイクロWebアプリ」を構築しようとしています。これを実現できれば、いくつかのスタックオーバーフローユーザーにとって興味があると思います。私はそれをバニラASP.NET 3.5(つまりMVCではない)の深さサイトの私のC#でホストしています。
フローは非常に簡単です。
- ユーザーがすべてのパラメーターを指定していない(またはそれらのいずれかが無効である)URLでアプリを入力した場合、ユーザー入力コントロールを表示するだけです。(2つしかありません。)
- ユーザーがURLでアプリを入力するとし、すべての必要なパラメータを持って、私は結果を表示したいと入力コントロールを(彼らはパラメータを変更できるように)
これは、自分で課した要件(設計と実装の混合)です。
- 投稿でPOSTではなくGETを使用したいので、ほとんどの場合、ユーザーは簡単にページをブックマークできます。
- 私はしていない URLがその上に余分なこまごまとし、提出後愚か探して終わるしたいです。メインURLと実際のパラメータのみを入力してください。
- 理想的には、JavaScriptをまったく必要としないようにしたいと思います。このアプリにはそれのための正当な理由はありません。
- レンダリング中にコントロールにアクセスして値を設定できるようにしたい。特に、ASP.NETがこれを自動的に実行できない場合は、渡されたパラメーター値にコントロールのデフォルト値を設定できるようにしたい私にとって(他の制限内で)。
- 私はすべてのパラメーター検証を自分で行うことができて嬉しく、サーバー側のイベントの方法にそれほど必要ありません。ボタンなどにイベントをアタッチする代わりに、ページの読み込み時にすべてを設定するのは本当に簡単です。
これのほとんどは大丈夫ですが、ビューステートを完全に削除し、残りの便利な機能を維持する方法は見つかりませんでした。このブログ投稿の投稿を使用して、viewstateの実際の値を取得しないようにしましたが、最終的にはURLのパラメーターとして表示されるため、見苦しいようです。
ASP.NETフォームではなくプレーンHTMLフォームにした場合(つまり、テイクアウトrunat="server"
)、マジックビューステートを取得できませんが、プログラムからコントロールにアクセスできません。
私は可能性が ASP.NETのほとんどを無視し、XMLにLINQを使用してXML文書を構築し、実施することにより、このすべてを行いますIHttpHandler
。しかし、それは少し低いレベルに感じます。
私の問題は、制約を緩和する(たとえば、POSTを使用し、余剰パラメーターを気にしない)かASP.NET MVCを使用することで解決できることに気付きましたが、私の要件は本当に無理ですか?
たぶん、ASP.NETはこの種のアプリにスケールダウンしないのでしょうか?ただし、非常に可能性の高い代替案があります。私はただ愚かであり、それを実行するための完全に単純な方法があり、私がまだ見つけていないのです。
何か考えはありますか?(強大さがどのように落ちたのかについてのキューコメントなど。それは結構です-私はASP.NETの専門家であると主張したことがないことを願っています。真実はまったく反対です...)