在mvc3中的jquery函数中回发后调用Ajax

时间:2012-10-16 11:24:24

标签: asp.net-mvc-3

在mvc3中回发后,我遇到了来自Jquery函数的Ajax调用问题。下面的ajax部分中提到的action方法在回发后不会被调用,而它在回发之前工作正常。     实际上我正试图获得文本框的价值。这是我的Jquery函数..

  $("#ddlDiagnosis").change(function () {
            alert($("#ddlDiagnosis").val());
            var selection = $("#ddlDiagnosis").val();
            var datatosend = { selectedValue: selection };

            $.ajax({
                url: "home/GetDiagnosisICDCode",
                type: 'POST',
                data: { selectedValue: $(this).val() },  //datatosend,
                datatype: 'json',
                success: function (data) {
                    var elements = "";
                    $.each(data, function () {
                        $("#txtICDCode").val(this.ICDcode)
                    })
                }
            });

       });

2 个答案:

答案 0 :(得分:0)

您需要像这样更改网址

url: "/home/GetDiagnosisICDCode",

GetDiagnosisICDCode必须是公开方法。

答案 1 :(得分:0)

在回发后,您无法强制进行ajax调用,因为在完整回发后页面的状态正在发生变化。所以它不会发生。应该执行包含ajax调用的函数来发出ajax请求。为此,您可以使用jquery的$(document).ready(function(){});使用jquery的Initialization函数封装您的方法。在一个序列中,假设您可以首先进行ajax调用,然后您可以进行完整的回发。但是通过维持页面状态无法实现相反的目标。