Мне нужна форма на моей странице бритвы ASP.NET MVC. Я бы предпочел использовать следующий синтаксис:
@using (Html.BeginForm())
{
}
Однако мне нужно добавить несколько атрибутов в форму. В итоге я получил что-то вроде следующего:
@using (Html.BeginForm(null, null, FormMethod.Post, new { name = "value" }))
{
}
Однако, это имеет нежелательный побочный эффект. Если в запросе этой страницы есть аргументы запроса, первая форма передает их при отправке формы. Однако второй версии нет.
Я действительно не знаю, почему BeginForm()
не поддерживает атрибуты, но есть ли прямой способ добавить атрибуты в BeginForm()
и все еще передавать любые аргументы запроса при отправке for?
EDIT:
После изучения этого может показаться, что лучшим решением будет что-то вроде этого:
<form action="@Request.RawUrl" method="post" name="value">
</form>
Однако при использовании этого синтаксиса проверка на стороне клиента отключается. Кажется, нет хорошего решения этой ситуации без более сложных и потенциально ненадежных конструкций.