使用FormCollection获取和使用每个值的任何一个特定的键

问题描述:

我有一堆列表框在视图中,每个列表框有一个唯一的名称/编号。当提交 时,action方法接收相应的数据,即key = listbox name和value(s)=该列表框的所有选定值。使用FormCollection获取和使用每个值的任何一个特定的键

如何获取任意一个键的所有值并使用foreach语句等对每个值执行所需的操作?综观的FormCollection可用的方法他们得到(指数),并没有得到(钥匙)...

谢谢...

这应该做的伎俩以及

public ActionResult YourAction(FormCollection oCollection) 
     { 

        foreach (var key in oCollection.AllKeys) 
        { 
         //var value = oCollection[key]; 
        } 

        return View();    
     } 
    } 

public ActionResult YourAction(FormCollection oCollection) 
    { 

       foreach (var key in oCollection.Keys) 
       { 
        //var value = oCollection[key.ToString()]; 
       } 

       return View();    
    } 

不知道这一个你:

public ActionResult YourAction(FormCollection oCollection) 
    { 
       foreach (KeyValuePair<int, String> item in oCollection) 
       { 
        //item.key 
        //item.value 
       } 

       return View();    
    } 

好吧,这能够完成任务。但希望有更有效的方法来做到这一点?

[HttpPost] 
    public ActionResult Edit(FormCollection form) 
    { 



     var count = form.Count; 
     int i = 0; 
     while(i <= count) 
     { 


      var ValueCollection = form.Get(i); 
      var KeyName = form.GetKey(i); 

      foreach(var value in ValueCollection) 
      { 

       //Your logic 
      } 



      i++; 
     } 




     return View(); 
    } 

可能是你错了,有没有get(key)方法,因为的FormCollection实际上是从NameValueCollection中派生的类都具有其接受的名称(或键)索引属性和接受Get方法名称参数。