简体   繁体   中英

Get posted value In C# ASP.NET

I have a dynamic form that allow to add many fields dynamically,

I Know how to get the value of single field in aspnet using : Request.Form["myField"],but here i have more than field and i dont know the count of these fields since these are dynamic

the fields name is "orders[]"

ex:

<form>
<input type="text" name="orders[]" value="order1" />
<input type="text" name="orders[]" value="order2" />
<input type="text" name="orders[]" value="order3" />
</form>

In php, i get the values as an array by accessing $_POST['orders'] ;

ex:

$orders = $_POST['orders'];
foreach($orders as $order){
 //execute ...
}

how can I do this in c# ?

Use Request.Form.GetValues .

Request.Form is a NameValueCollection , an object that can store a collection of items under the same key and the ToString displays the values in CSV format.

Markup:

<input type="text" name="postField[]" />
<input type="text" name="postField[]" />
<input type="text" name="postField[]" />
<input type="text" name="postField[]" />

<asp:Button Text="text" runat="server" OnClick="ClickEv" />

Code behind:

protected void ClickEv(object sender, EventArgs e)
{
    var postedValues = Request.Form.GetValues("postField[]");

    foreach (var value in postedValues)
    {

    }
}

You would use Request.Form[] . Or if your form and fields had runat="server" and ids, you could just use the id in the codebehind and the .Text() method to access its value.

You can access everything that gets sent back to the server by using the Request object.

Request.Form.Items

Is a collection that will contain the item you are looking for.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM