2011-01-09 4 views
2

mvcとほぼ3年後に私は頭を傷つけています。それは私だけ、または私たちはaspのリンクを指定する方法です.net mvc suck? MVC 1のプレビューで私はasp .net mvcのアクションリンクに悩まされていますか? MVC3の方がいいですか?

@Html.ActionLink("Log Off", "LogOff", "Account") 

@Html.ActionLink("Australia", "CountryDetail", "Places", new { id = "Australia", filter = "xxx", morejunkvaliablesrepeatedoverandaver = "guuuuuuuuh"}, null) 

我々はインテリセンス私たちを与えたし、私が愛しチェックを、コンパイルファンキーな一般的なアクションへのリンクを持っていました。私は彼らがパフォーマンスの問題のためにそれらを削除したことを知っているし、ルートが常に解決することを実際に保証することができなかったので...しかし、それを行うデフォルトの方法だけでは、

私はMVC2でT4Mvcも使用しましたが、正直言って本当に好きではありませんでした。これはMvcフレームワークの一部ではなく、特に大きなチームと継続的な統合ビルドにおけるソース管理を使用して開発することには不満があります。

私はMvc Futuresをインポートして、ジェネリック型を使用していると思います(これはおそらく私がやることです)。

私は非常に大きなプロジェクトを始めようとしていて、他の人が何を考えているのだろうと思っていましたか?他の誰もオプションに悩まされているのですか、新しい解決策がありますか?

ActionLinksが最も基本的なものだと思われます。&頻繁に使用される機能です。すぐれたソリューションがあるはずはありません。このフレームワークのリビジョン3を目にします。

+0

Html.LinkToAction("Edit").Text("Edit").AddClass("navigation") 

なぜあなたが望むように動作し、代替ヘルパーを作成していませんか?さらに、一般的な実装をプレビューソースから抜き出し、現在使用しているものと連携させるのはなぜですか? – nerraga

答えて

4

私はこれも最初は嫌でした。 T4MVCも試しました。生成されたプロキシクラスは面倒すぎると感じました。

私は何かを実現しました。
あなたのビューとコントローラの名前が明確で構造化されている場合は、決して変更したくありません。

すべてを超安全にしようとするのではなく、理解しやすく理解しやすい方が良いです。理解しているのはprinciple of least astonishmentです。

私はもうこれらの「魔法の弦」は気にしません。

+1

それは私が大事にしている魔法の文字列でもありません...コードの半分にはインテリセンスがありませんので、私のアクションメソッドが期待しているパラメータが表示されずに醜い匿名オブジェクトを指定する必要があります。それも見るだけで醜いです。 –

+0

@Jonathonあなたは「ダイナミックさ」を受け入れるべきです。intellisenseと強く頻繁に入力するだけで、非常に高価なため誤った安全感が感じられます。コードの不必要な冗長性。私が何を意味しているのかを理解するためにRubyで遊んでください。 –

0

個人的に私は、MVC Futuresヘルパーを使用して、ある日Microsoftがフレームワークに組み込む時間があることを願って、魔法の文字列を避けることを望んでいます。

+0

うん...ちょうどタイプ 'sのスイッチ'があるように。 :) –

0

他のWebフレームワークを見て、好きな場合はアイデアの一部を盗みます。

0

私はFubuMVCからHtmlTagsライブラリを奪ってHTMLに関連するものを生成するために使っています。ここには私が書いたpostがあります。ジェネリックはありませんが、少なくともあなたはすべてのオーバーロードを覚えておく必要はなく、T4MVCでうまくいくでしょう。

Html.ActionLink("Edit", "Edit", null, new { @class = "navigation" }) 
関連する問題