js调用后台函数需要用ajax方式,js本身是客户端产物,跟服务端交互需要ajax借口。
前台ajax:
$(function () {
$("#WFddlType").change(
function () {
$.ajax({
type: "Post",
url: "feeForm.aspx/FindLeftBudget", //页面名/要调用的后台方法名
data: "{'feeTypeID':'10021','costCenterID':'22322'}", //json格式的字符串将参数传入后台,参数名必须一致
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function (result) {
$("#leftBudget").text(result.d); //将获取到的值赋值给前台的控件,这里的d,如果后台返回的不是json字符串,而仅仅是一个值,那么所返回的值就包括在名为d的属性中
(奇怪吧,我也觉得。。。)
},
error: function (err) {
alert(err);
}
});
});
});
后台C#:
[WebMethod]
public static string Find(string feeTypeID, string costCenterID)
{
if (BudgetControlFacade.Instance.Check(feeTypeID))
{
return BudgetControlFacade.Instance.FindBalance(feeTypeID, costCenterID).ToString();
}
else
{
return "+∞";
}
}
//js部分
$("#CompanyName").autocomplete("/TourOrder/Ajax/GetCompany.aspx", {
width: 252,
onItemSelect: selectItemForCompany
});
function selectItemForCompany(li, $input) {
$input.val($(li).find(".CompanyName").text());
$("#CompanyID").val($(li).find(".CompanyID").text());
}
ajax