0

大家好,这是我的aspx页面

          <body>
   <% Html.BeginForm("AssignWork", "Project", FormMethod.Post); %>
     <form action="AssignWork.aspx" method="post"></form>
<%:Html.ValidationSummary(true)%>
<div>

<div></div><div style="margin:62px 0 0 203px;"><a style="color:Orange;">Projects : </a><%:Html.DropDownList("Projects")%></div>
<fieldset style="color:Orange;">

    <legend>Employees</legend>
      <% foreach (var item in Model)
         { %>  
              <div>
              <%:Html.CheckBox("EmployeId",new { value=item.EmployeeName})%>
              <%:Html.LabelForModel(item.EmployeeName)%>
              </div>
      <%} %>          
       <p>

</p>       
</fieldset> 
<input type="button" value="Assign" name="Assign" />      
</div>
    <% Html.EndForm(); %>
 </body>

这是我的问题,当我单击“分配”按钮时,它不会进入我控制的 post 方法。我在弹出窗口中显示此页面。谁能告诉我我哪里做错了。谢谢你。

4

3 回答 3

1

尝试提交输入而不是按钮

<input type="submit" value="Assign" name="Assign" />
于 2012-07-23T13:00:08.670 回答
0

将按钮的类型更改为“提交”:)

于 2012-07-23T13:00:36.560 回答
0

你没有Html.BeginForm()正确使用。代替

<% Html.BeginForm("AssignWork", "Project", FormMethod.Post); %>
 <form action="AssignWork.aspx" method="post"></form>

尝试这个:

<% using (Html.BeginForm("AssignWork", "Project", FormMethod.Post) { %>
    <!-- your form markup -->
<% } %>

您不需要使用<form>标签,因为它由 渲染Html.BeginForm(),并且Html.EndForm()由于语句而没有必要using- 结束标签呈现在using控制块的末尾。

而且您可能还需要将输入类型更改为submit.

于 2012-07-23T13:03:22.840 回答