mój adres URL wygląda następująco:Korzystanie Html.BeginForm z kwerendy
customer/login?ReturnUrl=home
W widoku logowania, użyłem tego wzorca kodu, który działa dobrze.
@using(Html.BeginForm())
{
...
}
ten wytwarza magiczną po HTML
<form action="customer/login?ReturnUrl=home" method="post">
Teraz jednak, że konieczne jest dodanie atrybutów (np data-id="something"
) w formie. Jak mogę to zrobić? Jeśli nie ma żadnych znaków zapytania, wiem, że mogę zrobić coś takiego:
@using(Html.BeginForm(action, controller, FormMethod.Post,
new { data_id="something" }))
ale nie wiem jak dodać ciągu kwerendy, która powinna być w HTML:
<form action="customer/login?ReturnUrl=home" method="post" data-id="something">
myślałem o bezpośrednim używaniu <form>
, ale nie wiesz, jak określić zapytanie o zmienną. I nie mam pojęcia, jak to osiągnąć z Html.BeginForm
. Każda wskazówka byłaby doceniona.
UCHWAŁA:
Teraz użyłem <form>
z następujących podpowiedź How to get current url value in View. Powstały widok wygląda
<form action="@Request.Url.PathAndQuery" data-id="something" method="POST">
Ale byłoby miło mieć przeciążony metody BeginForm
do tego.
gdzie chcesz dodać atrybut, do formularza lub czegoś w formularzu? – msarchet
Czy chcesz dodać kolejną wartość formularza lub dynamicznie ustawić ciąg zapytania? – Tejs
@msarchet i Tejs Chcę atrybut na elemencie formularza. –