asp.net中的js如何调用后台函数

JavaScript017

asp.net中的js如何调用后台函数,第1张

js调用后台函数需要用ajax方式,js本身是客户端产物,跟服务端交互需要ajax借口。

前台ajax:

$(function () {

$("#WFddlType").change(

function () {

$.ajax({

type: "Post",

url: "feeForm.aspx/FindLeftBudget", //页面名/要调用的后台方法名

data: "{'feeTypeID':'10021','costCenterID':'22322'}", //json格式的字符串将参数传入后台,参数名必须一致

contentType: "application/jsoncharset=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 "+∞"

}

}

这样做,不太现实。

首先,您的按钮是控件来的,随非您将DIv也加入runat="server"

,把DIV显示出来,不过,这种方式,一般都不行,因为,当你把DIV显示出来了,那button按钮就会刷新页面一次,DIV也不会显示出来了。

您可以对button按钮加入OnClientClick事件,写JS显示出来。

你是用js调用后台的方法,返回的结果没有进行操作,所以前台是没有进行刷新的,如果你是列表上或者是单条数据的增删查改,需要你后台把更改之后的数据返回回来,使用js进行更改,或者重新掉一下列表的方法或详情的方法