2012-05-10 56 views
0

我的表單將值發佈到控制器,並且在表單集合中,某些鍵有一個值,而其他一些鍵有兩個值,我打算讀取Form Collection中的所有鍵的第一個值,任何幫助?表單集合返回兩個值,如何讀取第一個?

  1. 圖例:A值:[0]:真,[1]:假
  2. 鍵:B值:[0]:假
  3. 鍵:C值:[0]:假
  4. 關鍵字:D值:[0]:True,[1]:False

我只希望每個鍵的值爲[0]!

+0

我很好奇如何一個鍵可以有多個值。你是否暗示你的「價值」是某種類型的集合?或者它是某種Tuple <>什麼的? – CodeHxr

+0

您可以發佈您的意見表單,以便我們可以更好地瞭解您要提交的內容嗎? – Dangerous

+0

Amarnath剛剛回答了這個問題,謝謝! :) – Nanu

回答

2

Amarnath的回答是正確的,但使用分割是不必要的,因爲GetValues()方法已經爲你做了。

public ActionResult YourAction(FormCollection fc) 
{ 
    foreach (string key in fc.AllKeys) 
    { 
      string value-to-consider = fc.GetValues(key).FirstOrDefault(); 

      //further processing. 
    } 

} 

編輯:如果我有能力,我會添加這個評論。

+0

這看起來光滑。 :) – Nanu

+0

我相信這兩個答案可以合併。也許評論會更合適,以便作者可以更新答案。 – Numbers

1

表單集合返回指定鍵的逗號分隔值,您可以使用split(「,」)分隔所有值,只能考慮第一個值。示例實施將是

public ActionResult YourAction(FormCollection fc) 
{ 
    foreach (string key in fc.AllKeys) 
    { 
      string values = fc[key]; 
      string[] valueArray = values.split(','); 
      string value-to-consider = valueArray[0]; 

      //further processing. 
    } 

} 

希望這有助於。

+0

謝謝,這就是我一直在尋找的! :) – Nanu

相關問題