Мой url выглядит так:
customer/login?ReturnUrl=home
В окне входа в систему я использовал этот код кода, который отлично работает.
@using(Html.BeginForm())
{
...
}
Это магически генерирует следующий html
<form action="customer/login?ReturnUrl=home" method="post">
Но теперь мне нужно добавить в форму атрибут (например, data-id="something"
). Как я могу это сделать? Если у меня нет строки запроса, я знаю, что могу сделать что-то вроде этого:
@using(Html.BeginForm(action, controller, FormMethod.Post,
new { data_id="something" }))
Но не знаю, как добавить querystring, который должен быть в html:
<form action="customer/login?ReturnUrl=home" method="post" data-id="something">
Я думал об использовании <form>
напрямую, но не знаю, как указать переменную querystring. И я понятия не имею, как добиться этого с помощью Html.BeginForm
. Любой совет будет оценен.
Решение:
В настоящее время я использовал <form>
со следующей подсказкой Как получить текущее значение URL в представлении. Полученный вид выглядит как
<form action="@Request.Url.PathAndQuery" data-id="something" method="POST">
Но было бы неплохо иметь перегруженный метод BeginForm
для этого.