Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

223
Visualizações
Pasar valor de la vista al controlador usando location.href es nulo

Tengo una vista, en la que tengo un evento de cambio de menú onchange . Quiero pasar el valor seleccionado del menú desplegable al controlador usando location.href , pero no puedo hacerlo con éxito.

Agregué la alert para ayudarme a ver cuál es el valor, que muestra correctamente el valor seleccionado en el menú desplegable.

Mi vista:

 <div class="modelDropdown"> @Html.DropDownListFor(m => m.groupId, Model.pointGroupDropdown, "Select a Model", new { @id = "pointGroupDropdown", @onchange = "LoadPointGroups(this)", @class = "form-control", @style = "width: 200px;" }) </div> <script> function LoadPointGroups(pointGroup) { alert(pointGroup.options[pointGroup.selectedIndex].text); var groupName = pointGroup.options[pointGroup.selectedIndex].text; location.href = '@Url.Action("LoadPointGroups", new {groupName = "groupName"})'; } </script>

Mi controlador:

 public ActionResult LoadPointGroups(string groupName){ *do stuff* }

Esto da como resultado que groupName sea "groupName" en los parámetros del controlador.

yo también probé

 location.href = '@Url.Action("LoadPointGroups")/' + groupName;

Pero eso pasa null al controlador.

¿Cuál es la forma/sintaxis correcta para hacer esto? ¡Cualquier ayuda es muy apreciada!

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Podría usar la solicitud Ajax para esta llamada. Aquí tienes un ejemplo de cómo implementarlo:

 var BaseUrl = '@Url.Content("~/")'; function LoadPointGroups(pointGroup) { var groupName = pointGroup.options[pointGroup.selectedIndex].text; $.ajax({ BaseUrl + yourControllerPath + '/LoadPointGroups?groupName=' + groupName, method: 'GET', //Your controller's method type cache: false, }).done(function (whatYouGet) { // You could also do sth here if it's a get method }); }
about 4 years ago · Juan Pablo Isaza Relatório

0

cambiar configuración de rutas

 routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Help", action = "Index", id = UrlParameter.Optional } ).DataTokens = new RouteValueDictionary(new { area = "HelpPage" });
about 4 years ago · Juan Pablo Isaza Relatório

0

Puedes probar de esta manera:

 function LoadPointGroups(pointGroup){ alert(pointGroup.options[pointGroup.selectedIndex].text); var url =@Url.Action("YourMethodName", "ControllerName"); //your url var gName = pointGroup.options[pointGroup.selectedIndex].text; //your value window.location.href = url + "?groupName=" + gName; }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda