2017-02-22 50 views
0

我有以下的輸入框發佈陣列

@foreach (var language in Model.LanguagesList) 
{ 
     <input type="text" name="txtLanguage[@language.Value]" value="@language.Text" /> 
} 

我用這樣的事情幾年前,同時編寫PHP,很容易貼後背時,得到的值。

我需要鑰匙和價值,但似乎無法找到一種方法來獲取它們。

,我已經能夠找到的代碼的唯一一點就是這個

 NameValueCollection nv = HttpUtility.ParseQueryString(Request["txtLanguage"]); 
     foreach (string key in nv) 
     { 
      //var key = key; 
      var value = nv[key]; 
     } 

誰能幫助?

+0

你發佈 }是GET或POST?你能提供更多的例子嗎? – deb0rian

回答

0

假設你有這一切都包裹在一個形式,正確指定的操作和控制,你會需要遍歷和後文本價值分別按以下方式:

@using (Html.BeginForm("YourActionName", 
        "YourControllerName", 
        FormMethod.Post)) 
{ 
    ................................. 
    ................................. 
    @for(int i=0 i< Model.LanguagesList.Count; i++) 
    { 
     @Html.TextBoxFor(x=> Model.LanguagesList[i].Text) 
     @Html.HiddenFor(x=> Model.LanguagesList[i].Value) 
    } 
    ................................. 
    ................................. 
    <input type="submit" Value="Save" /> 
} 
+0

你好,謝謝你,但我需要獲得表格後發佈的值不生成表格 –

+0

當表單被提交後,你會顯示你的控制器操作代碼,你如何設置它? –

+0

我會試一試謝謝 –

0

我不能在峨山的回覆發表評論,你可以在視圖下方使用(如峨山解釋)

 @for(int i=0 i< Model.LanguagesList.Count; i++) 
    { 
     @Html.TextBoxFor(x=> Model.LanguagesList[i].Text) 
     @Html.HiddenFor(x=> Model.LanguagesList[i].Value) 
    } 

可以在模型或訪問對照使用的FormCollection字段的值奧勒

public ActionResult MyController(FormCollection collection) 
     { 

......