Pregunta Incluyendo todos los parámetros de la cadena de consulta en Html.ActionLink


En mi pagina tengo

 @using (Html.BeginForm("list", "menu", FormMethod.Get))
    {
        <div>
           Show categories:
            @Html.DropDownList("groupName", (SelectList)ViewBag.groups)
            <input id="Submit1" type="submit" value="Show" />
        </div>
    }

Con respecto a la opción que el usuario elija, genero una lista y la cadena de consulta en mi dirección será como:

localhost/menu/list?groupName=controlpanel

Mi problema es cuando uso HtmlActionLink por ejemplo:

@Html.ActionLink("Title", "List", new { foo = item.foo})

Lo que obtuve en el resultado es el resultado es:

localhost/menu/List?foo=123

en lugar de :

 localhost/menu/List?foo=123&groupName=controlpanel

Me estoy perdiendo de algo ??


5
2017-10-29 20:43


origen


Respuestas:


No es una solución integrada, aunque parece abordar exactamente lo que está buscando:

ASP.NET MVC Build Url basado en la URL actual


6
2017-10-29 20:54



Para usar ActionLink, debe incluir todos los parámetros que desea que aparezcan en la cadena de consulta. Creo que lo más fácil sería agregar una propiedad de GroupName en su modelo (o en el ViewBag como su otra muestra). Entonces puedes hacer esto:

@Html.ActionLink("Title", "List", new { foo = item.foo, groupName = Model.GroupName })

1
2017-10-29 21:36