linqyFormCollection
을 특정 문자열로 시작하는 키만 포함하는 Dictionary<string,string>
으로 분할하는 방법이 있습니까? 특정 문자열로 시작하는 키로 FormCollection 자르기
는 (이 질문은 기본적으로 this-과 동일>하지만, C에 대한 #/FormCollection 대신 파이썬 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.");
배경 :이 같은 한 줄 읽을 수 있다면 좋을 것 문맥의 asp.net MVC, 그리고 동적 사전과 형태 전지.
또한이 질문과 비슷합니다 (Return FormCollection items with Prefix).
그리고이 대답을 읽으면서 How to build C# object from a FormCollection with complex keys - 양식 게시를 사용하지 않고 JSON을 보내는 것이 나을지 궁금해지기 시작했습니다.
코드에 어떤 문제가 있습니까? –
항상 * problem *을 설명해야합니다. 여기에 "나는 무언가를하고 있는데 이것이 내가하는 일"이라고 말하는 것처럼 들리지만, 현재의 해결책이 왜 좋지 않은지 알려주지는 않습니다. –
고마워, 나는 왜 그것이 좋지 않은지에 대한 질문을 편집했다. (단어 "Edit"로 아무 것도 불평하지 않는 것처럼 보이지 않는다.) – PandaWood