ASP.NET如何实现线程中调用JS函数

JavaScript011

ASP.NET如何实现线程中调用JS函数,第1张

js:

<script type="text/javascript">

function ss() {

alert("底层调用js,调用成功!")

}

//这个方法用了调用隐藏按钮

function xx() {

document.getElementById("Button2").click()

}

</script>

html:

<asp:Button ID="Button1" runat="server" Text="底层调用js" onclick="Button1_Click" />

<hr />

<input type="button" value="js调用底层" onclick="xx()" />

<asp:Button ID="Button2" runat="server" Text="我是隐藏按钮" onclick="Button2_Click" style="display:none"/>

<hr />

CS:

//底层调用js

protected void Button1_Click(object sender, EventArgs e)

{

Page.ClientScript.RegisterStartupScript(ClientScript.GetType(), "gg", "<script>ss()</script>")

}

//后台方法

public void showval()

{

Response.Write("js调用后台方法成功!")

}

//隐藏按钮事件

protected void Button2_Click(object sender, EventArgs e)

{

showval()

}

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 "+∞"

}

}

绑定的InforGuid要用单引号引起来。

del(<%#Eval("InforGuid")%>)

改为

del('<%#Eval("InforGuid")%>')