Como buscar o elemento selecionado de um grupo de botões de rádio da aplicação ASP.NET MVC?
-
06-07-2019 - |
Pergunta
Eu tenho 2 grupos de botões de rádio com links correspondentes a cada um o grupo na minha aplicação ASP.NET MVC.
Abaixo está a captura de tela para uma melhor clareza:
alt texto http://img21.imageshack.us/img21/7959/radiogroups .png
Quando eu selecione o link apropriado, o valor associado com o grupo especial deve ser passado para a ação do controlador.
Por exemplo, no caso acima, enquanto clica "ligação 1", os valores de A1 ou A2 devem passado para o método de acção do controlador.
Eu tentei fazer um post para o método de ação apropriado, mas o valor associado com o segundo link também está sendo passada. Como posso obter apenas o valor selecionado a partir do link clicado?
Solução
Gostaria de usar uma função javascript como o href do link. Ele iria ler o valor selecionado do grupo de botões de rádio correspondente e adicioná-lo para uma string url. Você pode definir o window.location ou definir a ação de formulário e enviar.
Outras dicas
Usando javascript você pode limpar os valores dos outros botões de rádio antes de enviar o formulário.
Outra solução pode ser ter um campo oculto e preenchê-lo com o valor apropriado usando javascript sempre que um link é clicado. Então você começa o valor deste campo e esquecer os radiobuttons.
Coloque os dois botões de rádio e o link associado a um formulário separado. Substitua o link com um botão de envio (ou enviar imagem se você quer olhar como um link). Assim você terá duas formas tanto postagem para a mesma ação do controlador. Dê seu botão enviar um name
que pode ser usado dentro da ação para determinar qual botão foi clicado. Você também pode usar um campo oculto. A primeira coisa a fazer na ação é determinar qual botão foi clicado e, em seguida, ler os valores de solicitação apropriada para os botões de rádio.
Outra alternativa é ter tudo no mesmo formulário com dois botões de envio e nomes diferentes.
Ver
@model MvcApplication2.Models.CountryModel
@using (Html.BeginForm())
{
@Html.RadioButton("Gender", "Male" new { @checked = "checked" }) Male
@Html.RadioButton("Gender", "Female")Female
<input type="submit" text="submit"/>
}
MODELO
public class CountryModel
{
public string Gender{ get; set; }
}
CONTROLADOR
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(CountryModel model)
{
//for radio button
CountryModel dd = new CountryModel();
string date1 = model.RDB;
return View(model);
}