Скрытое поле не отправляется в коллекцию форм asp.net MVC - PullRequest
1 голос
/ 12 января 2012

У меня есть пара скрытых полей формы, которые не отправляются при отправке формы?Я использую Html Helpers для добавления формы на страницу ...

<%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>");   %>

Вот метод в моем контроллере ...

public ActionResult UpdateXML(int template, int PopPatId, FormCollection formCollection)
{
    foreach (var key in formCollection.Keys)
    {
       if (key.ToString() == "deactivate")
       {
                      ((XmlElement)node.SelectSingleNode("//template/elements/element[@name=\"Active\"]")).SetAttribute("value", value);
           if (value == "N")
           {
               dateIn = DateTime.Now.ToString("dd-MMM-yy");
           }                            
       }
       if (key.ToString() == "AddEnc")
       {
           if(formCollection[key.ToString()]=="ADDENC")
                            ((XmlElement)node.SelectSingleNode("//template/elements/element[@name=\"FOCUSED_READMISSIONS_ID\"]")).SetAttribute("value", "0");
       }

    }
}

Эти два оператора If никогда не встречаются.Кроме того, когда я смотрю на объект formCollection, я вижу, что этих двух полей там нет.Как я могу убедиться, что мои скрытые поля отправлены вместе с остальной частью формы?

1 Ответ

3 голосов
/ 13 января 2012

У вас есть несколько ошибок в этом коде.Если вы пытаетесь смешать 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>
<% } %>
...