结合JQuery Click()和C#Button OnClick()事件

时间:2012-05-19 07:56:03

标签: c# jquery asp.net http-post jquery-post

伙计们,我在这里有一个情况,

我有一个HTTP处理程序( InsertMap.ashx )将数据保存到数据库(表1),我正在使用JQuery调用该方法,如下所示

    $('a#AnchSaveData').click(function (e) {
        e.preventDefault();
        $('#mapcodeimage').attr('src', $("#wPaint").wPaint("image"));
        $('#mapcode').val($('#chartdata').html());
        $.post("../InsertMap.ashx", $("form").serialize(), insertCallback);
    });

我还有另一个C#方法(BtnUpdateDiagnosis_Click)将一些其他值提交到数据库(表2),如下所示

protected void BtnUpdateDiagnosis_Click(object sender, EventArgs e)
    {
        if (HfContainer.Value != null)
        {
            ObjPatient.UpdateDiagnosis(TxtChiefComplaints.Text.Trim(), TxtFindings.Text.Trim(), TxtPrecaution.Text.Trim(), TxtDiagnosis.Text.Trim(), TxtManagementPlan.Text.Trim(), Request.Cookies["UserID"].Value, HfContainer.Value, DdlTherapist.SelectedValue);
            Diagnosis();
        }
        else
        {
            Response.Redirect(ObjFunction.GetSeoSpecificURL("RegisterPatient"));
        }
    }

我需要的是,我需要在单个CLICK事件中包含这两种方法, C#Button OnClick JQuery Click()

如何结合这两个?请帮帮我

2 个答案:

答案 0 :(得分:2)

jQuery正在浏览器中运行,C#正在服务器上运行。要将这些组合在一起,您需要选择它是否全部来自浏览器或服务器,然后将其余参数移动到那里。由于你有一些名为“Diagnosis”和“Patient”的变量,可能还有像HIPAA和PCI这样的其他可怕的单词,我会说你可能想让jQuery填充表单变量,让按钮单击收集这些细节并转发它到ashx上以避免将数据泄漏到浏览器中。

答案 1 :(得分:2)

       $('a#AnchSaveData').click(function (e) {
            e.preventDefault();
            $('#mapcodeimage').attr('src', $("#wPaint").wPaint("image"));
            $('#mapcode').val($('#chartdata').html());
            $.post("../InsertMap.ashx", $("form").serialize(), function (data) {
                insertCallback();

                $('#BtnUpdateDiagnosis').trigger('click');
            });
        });

//Or 


            $('a#AnchSaveData').click(function (e) {
                if (!$(this).hasClass('InsertMapProcess')) {
                    $(this).addClass('InsertMapProcess');
                    e.preventDefault();
                    $('#mapcodeimage').attr('src', $("#wPaint").wPaint("image"));
                    $('#mapcode').val($('#chartdata').html());
                    $.post("../InsertMap.ashx", $("form").serialize(), function (data) {
                        insertCallback();

                        $('#BtnUpdateDiagnosis').trigger('click');
                    });
                }
            });