如何将jquery值发送给控制器..?

时间:2011-10-06 22:00:38

标签: c# jquery asp.net-mvc-3 model-view-controller

我在视图中有一个用jquery处理的下拉列表。我需要知道如何将下拉列表的选定项目发送到控制器,因为我需要此信息来执行特定操作,任何人都可以帮助我。??

这是我尝试的javascript代码,但它不起作用:

  $("#BtnPassType").click(function () {
                    var formData = $("#displaydropdown option:selected").val();

                    $.post("/EquipodeRed/Prueba/", { tipo: formData }, 
                    function (data) {
                        alert(data.toString());
                    }, "text");

                });

这是按钮的HTML代码:

<input type="button" id="BtnPassType" value="Send Type" />

这是控制器代码

public String Prueba(string tipo)
        {
            string ubic = "Esta es la Ubicacion del equipo de tipo :";
            return ubic + tipo;
        }

我感谢你的帮助,谢谢。 问候。

1 个答案:

答案 0 :(得分:1)

你的AJAX电话看起来很好。你可以像这样简化它:

$('#BtnPassType').click(function () {
    var formData = $('#displaydropdown').val();
    $.post('/EquipodeRed/Prueba', { tipo: formData }, function (data) {
        alert(data);
    });
    // make sure you return false to cancel any default actions of this button
    return false;
});

最好让控制器操作返回操作结果:

public ActionResult Prueba(string tipo)
{
    return Content("The selected type is :" + tipo);
}

当然要避免在你的javascripts中硬编码网址,总是使用网址助手:

$.post('@Url.Action("Prueba", "EquipodeRed")', { tipo: formData }, function (data) {
    alert(data);
});