伙计们,我在这里有一个情况,
我有一个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()
如何结合这两个?请帮帮我
答案 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');
});
}
});