2017-02-22 60 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

я не смог прокомментировать ответ Eshan, вы можете использовать ниже точку зрения (как описан Eshan)

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

вы можете получить доступ к значению поля, используя FormCollection в модели или Contr Oller

public ActionResult MyController(FormCollection collection) 
     { 

...... }