<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")%>')