Использование LINQ для создания словаря из Request.Form.AllKeys

Так что у меня есть страница с входами, сделанными специально для привязки модели к словарю. Как пример ниже.

"person[0].Key"    "Tom" 
"person[0].Value"  "cat" 
"person[1].Key"    "Jerry" 
"person[1].Value"  "mouse"

Таким образом, при использовании.Net MVC это будет привязано к словарю, как я хочу. Однако мне нужно повторить это поведение в вспомогательном методе старой страницы ASPX. Поэтому я подумал о том, чтобы просто разобрать коллекцию форм и создать из нее словарь. Что-то похожее на это (я знаю, что это не совсем правильно):

var people = Request.Form.AllKeys.Where(n => n.StartsWith("person"));
var x = people .Zip(Request.Form.AllKeys.Where(n => n.StartsWith("person")).Skip(1), (key, value) => new KeyValuePair<string, string>(key, value));

Однако это выглядит немного странно, и это работает не по порядку, а не по фактическим соглашениям об именах ключей и значений.

Есть ли лучший способ выполнить то, что я пытаюсь сделать. Либо через LINQ, либо с доступом к подшивке модели.

0 ответов

Другие вопросы по тегам