MVC3 BeginForm не отображает теги <form> - PullRequest
2 голосов
/ 04 августа 2011

У меня проблема с моим представлением, не отображающим открывающие и закрывающие теги FORM.Ниже приведен код моего контроллера

    [HttpGet, Authorize]
    public ActionResult Edit(long id)
    {
        Position position = positionRepository.GetPositionById(id);
        return View(position);
    }

И этот код на мой взгляд (без кода управления)

@using (Html.BeginForm("Edit", "Position", new { area = "Stock", id = Model.PositionId }, FormMethod.Post, null)){}

Когда вызывается страница, она отображает соответствующие данные, носторона HTML не включает открывающие и закрывающие теги FORM, которые потребуются для сохранения изменений.Любая подсказка относительно того, что я могу пропустить?

enter image description here enter image description here

Ответы [ 4 ]

3 голосов
/ 30 июля 2015

В аналогичной теме я обнаружил, что другой тег формы может не закрываться или новый BeginForm отображается внутри другого тега формы.

Чтобы быстро проверить, вы можетедобавьте </form> выше вашего Html.BeginForm(...).

2 голосов
/ 29 сентября 2011

Я нашел основную причину моей главной страницы.При добавлении главной страницы я выбрал стандартную главную страницу, а НЕ одну из списка MVC3!Я продолжил удалять существующую главную страницу и добавил соответствующую (из списка MVC3), обновил страницу, и теги были правильно отображены.

1 голос
/ 14 марта 2018

Когда у вас есть частичное представление внутри представления, идентификатор формы не будет генерироваться, пока предыдущая форма не будет закрыта. Решение состоит в том, чтобы использовать BeginForm для всех частичных представлений. Когда у вас есть одно частичное представление, это не будет работать. Хитрость заключается в том, чтобы сохранить 2 частичных представления, которые могут быть фиктивными частичными представлениями только для целей закрытия формы.

0 голосов
/ 25 февраля 2012

Чтобы дополнительно расширить эту проблему, я обнаружил, что Html.BeginForm () работает только при вызове @RenderBody () из родительского макета.

Весь контент в наших частичных представлениях сгруппирован в разделы @, определенные мастером. Из-за этого мы вызывали только @RenderPage () и @RenderSection, но не @RenderBody ().

После того, как мы добавили вызов @RenderBody (), появились наши теги формы (даже если весь наш контент все еще определен в разделах и нет содержимого "body" для отображения ...)

Надеюсь, что это поможет кому-то еще ... мне понадобилось время, чтобы выяснить это ... этот пост предоставил окончательный ключ ..

...