Html.BeginForm pierde routeValues con FormMethod.GET

He notado lo que Html.BeginForm () codificaciones de método suministradas routeValues dentroacció atributo de la etiqueta FORM. Esto funciona bien con el método POST. Pero si el método es GET, todos los parámetros en acción URL son eliminados por el navegador (probado en IE8 y Firefox 3.0.7).

Por ejemplo, este código en la vista

<%
    using (Html.BeginForm("TestAction", "TestController", new { test = 123 }, 
        FormMethod.Get)) 
    {
        Response.Write("<input type='submit'>");
    };
%>

da tal HTML

<form action="/TestController/TestAction?test=123" method="get">
    <input type='submit'>
</form>

Pero después de enviar el formulario, la URL se convirtió en / TestController / TestAction no / TestController / TestAction? Test = 123 (se pierde el parámetro).

Ahora uso el grupo de Html.Hidden () llama en lugar de routeValues parámetro pero estoy interesado ¿hay otra solución? ¿Debería considerarse como un error en MVC que se solucionará en algún momento?

Respuestas a la pregunta(2)

Su respuesta a la pregunta