linqyFormCollection
を特定の文字列で始まるキーのみを含むDictionary<string,string>
に分割する方法はありますか?特定の文字列で始まるキーでFormCollectionをスライスする
(この質問は基本的にthis-と同じです>が、C#/ FormCollectionのための代わりのpython Slicing a dictionary by keys that start with a certain string)
ここで私が問題を回避するために思い付いたものです:
public ActionResult Save(FormCollection formCollection) {
var appSettings = new Dictionary<string, string>();
var appKeys = formCollection.AllKeys.Where(k => k.StartsWith("AppSettings."));
foreach (var key in appKeys)
{
appSettings[key] = formCollection[key];
}
...
編集:このコードの問題は、別のStartsWith文字列に対して複数回実行する必要があるため、上記を実行するための 'ユーティリティ'メソッドを作成する必要があることです。 (問題を解決する必要はありません)
formCollection.Where(k=>k.Key.StartsWith("AppSettings.");
背景:それはのような1行を読み込むことができれば それはいいだろうコンテキストはasp.netのMVCで、動的辞書を使用してフォームのフィールド。
また、この質問に似ています - Return FormCollection items with Prefix - しかし全く同じではありません。
そして、この回答を読んでHow to build C# object from a FormCollection with complex keys - 私はフォームポストを使わなくても、代わりにJSONを送る方が良いかどうか疑問に思っていました。
あなたが持っているコードは何ですか? –
*問題*を常に記述するようにしてください。ここでは、「私は何かしている、そしてこれは私がやっていることです」と言っているように聞こえますが、あなたの現在の解決策が*いいのではない理由を教えてくれません。 –
ありがとう、私はそれが素敵ではないと言う質問を編集した(単語 "編集"ので、あなたは何も文句を言っていないように見えない) – PandaWood