C#ASP.NET MVC表行作为表单值FormCollection

时间:2011-04-23 14:03:02

标签: c# asp.net-mvc formcollection

我一直坚持从控制器中的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>
<% } %>

因此Controller应该将表中的每一行转换为一个对象。

public ActionResult PasOverlappendeAfwezighedenAan(FormCollection fc, Student stud){

}

但是如何从FormCollection中获取一行或一行的数据?

提前致谢, 我

ps:对不起代码中的荷兰名字

1 个答案:

答案 0 :(得分:0)

确定我们可以使用形式colleciton,如:

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

    return View();
}

那么i的值将是一个字符串,如:“20,40,60”如果我们的帖子形式有3个字段(或称为[输入文本])被命名为“beginUur”..我们可以使用

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

获取每个beginUur值的字符串数组

-

或每个字段都是单个列表,如:

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

}