2

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

我有一个 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 OnClickJQuery Click()

如何将这两者结合起来?请帮我

4

2 回答 2

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');
                    });
                }
            });
于 2012-05-19T09:49:18.857 回答
2

jQuery 在浏览器中运行,C# 在服务器上运行。要将这些组合在一起,您需要选择是从浏览器还是从服务器发生,然后将其余参数移到那里。由于您有名为“Diagnosis”和“Patient”的变量,它们可能附加了其他可怕的词,如 HIPAA 和 PCI,我想说您可能希望让 jQuery 填充表单变量,并让按钮单击获取这些详细信息并转发将其放到 ashx 上,以避免将数据泄漏到浏览器中。

于 2012-05-19T08:05:47.800 回答