如何将数据从DropDownList发送到MVC中的Html.BeginForm?

时间:2009-09-30 15:42:48

标签: c# asp.net html asp.net-mvc

我想将下拉列表中的日期传递给Html.BeginForm中的ID。这就是我到目前为止所拥有的。

<%using (Html.BeginForm("Inquiry", "Billing", new { Date = ????? }, FormMethod.Post))


        <select id="myList" name="myList" >
        <option>Term - Balance</option>
        foreach (var item in Model.Term)
          { %>                             
        <option value="/<%=String.Format("{0:yyyyMMdd}", item.Date) %>" >
        <%=item.Date.ToShortDateString()%> - <%=String.Format("{0:C}", (item.Balance))%></option>
        <% } %>            
        </select>

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您可以向BeginForm方法添加其他属性,如下所示:

 <% using (Html.BeginForm("Inquiry", "Billing", 
                             FormMethod.Post, new { id = myDate.ToString() }))
       { %>

...

    <%} %>

如果您在用户更改表单上的下拉列表中的选择时询问如何更改表单ID,那么您需要使用javascript。上面的代码只在渲染时运行一次,所以如果那时你的myDate变量没有设置,那么就无法在服务器端获取它。