MVC - постбэк при нажатии радио кнопки - PullRequest
2 голосов
/ 02 августа 2011

Я довольно новичок в MVC.У меня простая проблема.У меня есть 3 радио кнопки на моей странице mvc asp.net.Я хотел бы вызвать действие в моем контроллере, когда я проверяю одну из переключателей на странице.Как мне сделать постбэк в mvc?

Ответы [ 2 ]

6 голосов
/ 02 августа 2011

Если у вас были переключатели вроде:

<input type="radio" name="sex" value="male" /> Male<br />
<input type="radio" name="sex" value="female" /> Female

Вы можете добавить скрипт ( при условии, что вы можете использовать jQuery ) на странице, например:

<script type="text/javascript">
    $(function () {
        $(':radio[name="sex"]').change(function () {
            $.ajax({
                url: 'sex',
                type: 'POST',
                data: { sex: $(':radio[name="sex"]:checked').val() },
                success: function (xhr_data) {
                    alert(xhr_data.someValue);
                }
            });
        });
    });
</script>

Предполагается, что у вас есть метод действия в том же контроллере, что и тот, который сгенерировал ваше представление:

public class YourController : Controller
{
    public ActionResult sex(string sex)
    {
        // do something awesome
        return Json(new { someValue = "testing!" });
    }
}
2 голосов
/ 25 июня 2012

Ответ выше работал только для меня, когда я сделал

data: { sex: $('radio[name="sex"]:checked').val() },

То есть, когда я добавил «проверено» в селектор.

...