2017-02-22 19 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) 
    } 

あなたは、モデルやCONTRにFormCollectionを使用して、フィールドの値にアクセスすることができますoller

public ActionResult MyController(FormCollection collection) 
     { 

...... }

関連する問題