Utworzyłem dość prosta strona z polem wyboru:wartości MV3 Duplikat Query String dla CheckBox (true, false dla Boolean)
@using (Html.BeginForm("MyController", "MyAction", FormMethod.Get))
{
@Html.CheckBoxFor(x => x.MyCheckBox)
<input type="submit" value="Go!" />
}
URL jest wypełniona wartości MyCheckBox dwukrotnie !? Jako takie:
MyAction?MyCheckBox=true&MyCheckBox=false
To tylko powiela wartość, jeśli pole jest prawdą. Jeśli ustawione na false, pojawi się tylko raz w ciągu zapytania.
Powyższy kod jest uproszczony, ponieważ mam kilka list rozwijanych i pole tekstowe w formularzu, które działa poprawnie. Nie sądzę, że jest coś niezwykłego w kodzie, który pominąłem w tym pytaniu.
Czy ktoś miał podobny problem z duplikatem parametrów łańcucha zapytania?
Interesujące rzeczy, ale co, jeśli masz na myśli czystość adresu URL? Wygląda trochę głupio, mając ten parametr dwa razy !? – pfeds
Może być nieestetyczny, ale 99% Twojej bazy użytkowników nie zrozumie tego. Jeśli naprawdę martwisz się o czystość swoich adresów URL, możesz przekazać dane pocztą i utworzyć konkretną trasę dla formularza. –
Tak, masz rację. Zostawię to jako GET i przestanę być tak pedantyczny. Wielkie dzięki Rory. – pfeds