Как получить выбранный элемент из группы переключателей из приложения ASP.NET MVC?

StackOverflow https://stackoverflow.com/questions/1629115

Вопрос

У меня есть 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);
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top