






















原本这是个很简单的问题,但不知道的话,却很难想到。
1.在Javascript中调用后台函数
在这个例子中该方法并不是好的解决方案,在这里只是作为示例。
a. 添加一个submit按钮,如代码第18行,其onserverclick事件等于服务器端事件SetValue
b.在后台代码中添加SetValue方法,注意其是一个protected方法,不能为private。
c.在应用中,通过调用submit按钮的click()事件在调用SetValue方法。在示例中是在button的onclick事件中调用。
客户端代码:
1
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="WebTest.WebForm1" %>
2
<HTML>
3
<HEAD>
4
<title>WebForm1</title>
5
<script language="javascript">
6
function ClientSetValue()
7
{
8
document.Form1.smtSetValue.click();
9
}
10
</script>
11
</HEAD>
12
<body>
13
<form id="Form1" method="post" runat="server">
14
<dir>
15
<input type="text" id="txtSetValue" runat="server" />
16
<input type="button" id="btnSetValue" onclick="ClientSetValue();" value="Set value" />
17
</dir>
18
<input type="submit" onserverclick="SetValue" id="smtSetValue" runat="server" style="DISPLAY:none" value="Submit Query">
19
</form>
20
</body>
21
</HTML>
22
服务器端代码:
1
protected void SetValue(object sender, System.EventArgs e)
2
{
3
this.txtSetValue.Value = "The value from server!";
4
}
2.在控件中调用后台函数
该方法在上例中其实已经提到,也是我们很常用的一种方法。
a.在控件的onserverclick,或者onserverchange事件中直接调用服务器端事件,忘了提醒,该事件不要在服务器端声明委托。如上例中的18行就是用的该方法。
3.常规用法。
常规用法就是在服务器端声明委托。如:
1
/// <summary>
2
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
3
/// 此方法的内容。
4
/// </summary>
5
private void InitializeComponent()
6
{
7
this.smtSetValue.ServerClick += new System.EventHandler(this.smtSetValue_ServerClick);
8
9
}
完!
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。