13
foreach (string key in HttpContext.Current.Request.Form.AllKeys) { string value = HttpContext.Current.Request.Form[key]; } 

What is the .net core version of the above code? Seems like .net core took out AllKeys and replaced it with Keys instead. I tried to convert the above code to the .net core way, but it throws an invalid operation exception.

HttpContext.Request.Form = 'HttpContext.Request.Form' threw an exception of type 'System.InvalidOperationException'

Converted code:

foreach (string key in HttpContext.Request.Form.Keys) { } 
1
  • What's the message of the exception? Commented Apr 8, 2017 at 5:13

3 Answers 3

25

Your could use this:

var dict = Request.Form.ToDictionary(x => x.Key, x => x.Value.ToString()); 

In that case, you can iterate over your dictionary or you can access values directly:

dict["Hello"] = "World" 
Sign up to request clarification or add additional context in comments.

1 Comment

var result= dict["Hello"] ;
0

Another option is:

StringValues s; Request.Form.TryGetValue("KeyName", out s); if (s.Count == 1) { string value = s.ToString(); } 

Comments

-1
var data = Request.Form.ToDictionary(x => x.Key, x => x.Value.ToString()); foreach (var item in data) { if (item.Key.Contains("hello")) { // ? } else if (item.Key.Contains("world")) { // ? } } 

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.