タグ付けされた質問 「mvccontrib」

21
パラメータ名の反映:C#ラムダ式の乱用または構文の優秀さ?
私はMvcContribグリッドコンポーネントを見て、グリッド構文で使用されている構文トリックに魅了されましたが、同時に反発しました。 .Attributes(style => "width:100%") 上記の構文は、生成されたHTMLのスタイル属性をに設定しwidth:100%ます。注意を払えば、「スタイル」はどこにも指定されていません。式内のパラメーターの名前から推定されます!私はこれを掘り下げる必要があり、「魔法」が発生する場所を見つけました: Hash(params Func<object, TValue>[] hash) { foreach (var func in hash) { Add(func.Method.GetParameters()[0].Name, func(null)); } } したがって、実際には、コードは正式なコンパイル時のパラメータ名を使用して、属性の名前と値のペアのディクショナリを作成しています。結果として得られる構文構成は実際に非常に表現力豊かですが、同時に非常に危険です。 ラムダ式の一般的な使用では、副作用なしで使用される名前の置換が可能です。私が言う本の中の例を参照してくださいcollection.ForEach(book => Fire.Burn(book))私は私のコードで書くことができます知っているcollection.ForEach(log => Fire.Burn(log))と、それは同じことを意味します。しかし、ここでMvcContribグリッド構文を使用すると、突然、変数に選択した名前に基づいて積極的に調べて決定を行うコードが見つかります。 それで、C#3.5 / 4.0コミュニティとラムダ式愛好家とのこの一般的な習慣はありますか?または、私が心配する必要のない不正な1つのトリックマーベリックですか?

10
ASP.NET MVC部分ビュー:入力名のプレフィックス
私はViewModelのようなものと仮定します public class AnotherViewModel { public string Name { get; set; } } public class MyViewModel { public string Name { get; set; } public AnotherViewModel Child { get; set; } public AnotherViewModel Child2 { get; set; } } ビューでは、パーシャルをレンダリングできます <% Html.RenderPartial("AnotherViewModelControl", Model.Child) %> 部分的にやります <%= Html.TextBox("Name", Model.Name) %> or …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.