Forms 表单集合asp.net MVC中未发送隐藏字段

Forms 表单集合asp.net MVC中未发送隐藏字段,forms,asp.net-mvc-2,hidden-field,Forms,Asp.net Mvc 2,Hidden Field,我有几个隐藏的表单字段,在我提交表单时没有发送?我使用Html帮助程序将表单添加到页面 <%using (Html.BeginForm("UpdateXML", "PatientACO", new { template = (int)Model, PopPatId = TempData["POPPATID"]}, FormMethod.Post, new { name = "editTemp", id = "temp1" })) Response.Write("<table widt

我有几个隐藏的表单字段,在我提交表单时没有发送?我使用Html帮助程序将表单添加到页面

<%using (Html.BeginForm("UpdateXML", "PatientACO", new { template = (int)Model, PopPatId = TempData["POPPATID"]}, FormMethod.Post, new { name = "editTemp", id = "temp1" }))
Response.Write("<table width=\"500\" class=\"odd\">");
Html.Hidden("encounter", encounter);
Html.Hidden("AddEnc", encflag);
Response.Write("</table>");   %>

这两个If语句从来都不起作用。另外,当我查看formCollection对象时,我可以看到这两个字段不在其中。如何确保我的隐藏字段与表单的其余部分一起提交?

该代码中有几处错误。如果您试图将html与服务器端代码混合使用,则不应使用
Response.Write
。此外,还需要将表单的内容放在大括号内。试试这个:

<% using (Html.BeginForm("UpdateXML", "PatientACO", 
       new { template = (int)Model, PopPatId = TempData["POPPATID"]}, FormMethod.Post,
       new { name = "editTemp", id = "temp1" }))
   { %>
        <table width="500" class="odd">
            <%= Html.Hidden("encounter", encounter) %>
            <%= Html.Hidden("AddEnc", encflag) %>
        </table>
<% } %>


页面上有表单字段吗?实际上,我在代码隐藏中找不到它们。由于某些原因,它们没有被添加到页面中。
<% using (Html.BeginForm("UpdateXML", "PatientACO", 
       new { template = (int)Model, PopPatId = TempData["POPPATID"]}, FormMethod.Post,
       new { name = "editTemp", id = "temp1" }))
   { %>
        <table width="500" class="odd">
            <%= Html.Hidden("encounter", encounter) %>
            <%= Html.Hidden("AddEnc", encflag) %>
        </table>
<% } %>