Как я могу получить все элементы val ues из Request.Form без точного указания, какой именно с .GetValues ​​(«ElementIdName»)

В настоящее время используется приведенный ниже код для создания массива строк (элементов), который содержит все строковые значения из Request.Form.GetValues ​​("ElementIdName") проблема в том, что для того, чтобы это работало, все мои раскрывающиеся списки в моем представлении должны иметь одно и то же имя идентификатора элемента, которое я не хочу, чтобы они по понятным причинам. Поэтому мне интересно, есть ли у меня способ получить все строковые значения из Request.Form без явного указания имени элемента. В идеале я хотел бы получить только все значения раскрывающегося списка, я не слишком увлечен C #, но нет способа получить все идентификаторы элементов, начинающиеся с, скажем, "List" + "**", поэтому я мог бы назвать свои списки List1 , List2, List3 и т. Д.

Спасибо ..

         [HttpPost]

    public ActionResult OrderProcessor()
    {

        string[] elements;
        elements = Request.Form.GetValues("List");

        int[] pidarray = new int[elements.Length];

        //Convert all string values in elements into int and assign to pidarray
        for (int x = 0; x < elements.Length; x++)
        {

            pidarray[x] = Convert.ToInt32(elements[x].ToString()); 
        }

        //This is the other alternative, painful way which I don't want use.

        //int id1 = int.Parse(Request.Form["List1"]);
        //int id2 = int.Parse(Request.Form["List2"]);

        //List<int> pidlist = new List<int>();
        //pidlist.Add(id1);
        //pidlist.Add(id2);


        var order = new Order();

        foreach (var productId in pidarray)
        {


            var orderdetails = new OrderDetail();

            orderdetails.ProductID = productId;
            order.OrderDetails.Add(orderdetails);
            order.OrderDate = DateTime.Now;


        }

        context.Orders.AddObject(order);
        context.SaveChanges();


        return View(order);
22
задан LaserBeak 28 May 2011 в 01:23
поделиться