0

コントローラーで FormCollection から値を取得することに行き詰まっています。問題は、私のフォームがテーブルであることです。

   <% using (Html.BeginForm("PasOverlappendeAfwezighedenAan", "Afwezigheid")) {%>        
<table>
    <tr>
        <th></th>
        <th>
            datumVan
        </th>
        <th>
            datumTot
        </th>

        <th>
            beginUur
        </th>
        <th>
            eindUur
        </th>
       <th>
            reden
        </th>
    </tr>

       <% foreach (var item in Model.Afwezigheden)
          { %>
    <tr>
        <td>
          <input type="text" name="datumVan" id="datumVan" value="<%: String.Format("{0:g}", item.datumVan) %>" />  
        </td>
        <td>
              <input type="text" name="datumTot" id="Text1" value="<%: String.Format("{0:g}", item.datumTot) %>" />  
        </td>

        <td>
           <input type="text" name="beginUur" id="Text2" value="<%: item.beginUur %>" />  
        </td>
        <td>
           <input type="text" name="eindUur" id="Text3" value="<%: item.eindUur %>" />  
        </td>
         <td>
            <input type="text" name="reden" id="Text4" value="<%: item.reden %>" />  
        </td>
    </tr>

<% } %>

</table>
<% } %>

したがって、コントローラーはテーブルの各行をオブジェクトに変換する必要があります。

public ActionResult PasOverlappendeAfwezighedenAan(FormCollection fc, Student stud){

}

しかし、FormCollection から行または 1 つの行のデータを取得するにはどうすればよいでしょうか?

前もって感謝します、私

ps: コードにオランダ語の名前が含まれていて申し訳ありません

4

1 に答える 1

0

次のようなフォームコレクションを使用できることを確認してください。

public ActionResult Test2(FormCollection postback)
{
    var i = postback["beginUur"];
    var j = postback["eindUur"];

    return View();
}

この場合、iの値は次のような文字列になります。投稿フォームに3つのフィールドがある場合(または[入力テキスト]と呼ばれる場合)、「beginUur」という名前が付けられます。

string [] beginUurResult = i.Split(','); 

各beginUur値の文字列配列を取得するには

-

または、各フィールドは次のような単一のリストになります。

public ActionResult PasOverlappendeAfwezighedenAan(List<string> datumVan, List<string> datumTot){

}
于 2011-04-23T14:15:45.303 に答える