Passing array values in an HTTP request in .NET

Posted by Zarjay on Stack Overflow See other posts from Stack Overflow or by Zarjay
Published on 2010-05-05T20:56:16Z Indexed on 2010/05/05 20:58 UTC
Read the original article Hit count: 281

Filed under:
|
|
|
|

What's the standard way of passing and processing an array in an HTTP request in .NET? I have a solution, but I don't know if it's the best approach.

Here's my solution:

<form action="myhandler.ashx" method="post">
    <input type="checkbox" name="user" value="Aaron" />
    <input type="checkbox" name="user" value="Bobby" />
    <input type="checkbox" name="user" value="Jimmy" />
    <input type="checkbox" name="user" value="Kelly" />
    <input type="checkbox" name="user" value="Simon" />
    <input type="checkbox" name="user" value="TJ" />

    <input type="submit" value="Submit" />
</form>

The ASHX handler receives the "user" parameter as a comma-delimited string. You can get the values easily by splitting the string:

public void ProcessRequest(HttpContext context)
    {
        string[] users = context.Request.Form["user"].Split(',');
    }

So, I already have an answer to my problem: assign multiple values to the same parameter name, assume the ASHX handler receives it as a comma-delimited string, and split the string. My question is whether or not this is how it's typically done in .NET.

What's the standard practice for this? Is there a simpler way to grab the multiple values than assuming that the value is comma-delimited and calling Split() on it? Is this how arrays are typically passed in .NET, or is XML used instead?

Does anyone have any insight on whether or not this is the best approach?

© Stack Overflow or respective owner

Related posts about .NET

Related posts about http