Как получить выбранный элемент из группы переключателей из приложения ASP.NET MVC?
-
06-07-2019 - |
Вопрос
У меня есть 2 группы переключателей со ссылками, соответствующими каждой группе в моем приложении ASP.NET MVC.
Ниже приведен скриншот для большей наглядности:
альтернативный текст http://img21.imageshack.us/img21/7959/radiogroups.png
Когда я выбираю соответствующую ссылку, значение, связанное с конкретной группой, должно быть передано в действие контроллера.
Например, в приведенном выше случае при нажатии «ссылки 1» значения A1 или A2 должны быть переданы методу действия контроллера.
Я попытался отправить сообщение соответствующему методу действия, но значение, связанное со второй ссылкой, также передается.Как я могу получить только выбранное значение из нажатой ссылки?
Решение
Я бы использовал функцию javascript в качестве ссылки. Это прочитало бы выбранное значение соответствующей группы переключателей и добавило бы его к строке URL. Вы можете установить window.location или установить действие формы и отправить.
Другие советы
Используя javascript, вы можете очистить значения других переключателей перед отправкой формы.
Другое решение может иметь скрытое поле и заполнять его соответствующим значением, используя javascript при нажатии на ссылку. Тогда вы получите значение этого поля и забудете о радиокнопках. Р>
Поместите две кнопки-переключатели и связанную ссылку в отдельную форму. Замените ссылку кнопкой отправки (или отправьте изображение, если хотите, чтобы оно выглядело как ссылка). Таким образом, у вас будет две формы, которые будут отправлены в одно и то же действие контроллера. Дайте вашей кнопке отправки имя
, которое можно использовать внутри действия, чтобы определить, какая кнопка была нажата. Вы также можете использовать скрытое поле. Первое, что нужно сделать в действии, это определить, какая кнопка была нажата, а затем прочитать соответствующие значения запроса для переключателей.
Другой вариант - все в одной форме с двумя кнопками отправки и разными именами.
Вид
@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"/>
}
МОДЕЛЬ
public class CountryModel
{
public string Gender{ get; set; }
}
КОНТРОЛЛЕР
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);
}