zoukankan
html css js c++ java
演示改变客户端控件事件响应脚本及无刷新调用服务端(ASP.net2.0)
页面
ChangeAtt.aspx
<%
@ Page Language
=
"
C#
"
CompileWith
=
"
ChangeAtt.aspx.cs
"
ClassName
=
"
ChangeAtt_aspx
"
%>
<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"
>
<
html
xmlns
="http://www.w3.org/1999/xhtml"
>
<
head
>
<
title
>
客户端脚本
</
title
>
<
script
language
=javascript>
function f1()
{
alert("函数[1]");
}
function f2()
{
alert("函数[2]");
}
function RefSwitch(message, context)
{
switch (context)
{
case "FirstCallServer":
DoServerCallBack(message, context);
break;
case "GetServerTime":
ShowServerTime(message, context);
break;
}
}
function FirstCallServer()//第一次调用服务器
{
var message
= 'FirstCallServer';
var context
= 'FirstCallServer';
<%
=sCallBackFunctionInvocation%>
}
function DoServerCallBack(Message, context) //服务器提示是否交互确认
{
if (Message
==
"GetTime?")
{
var b
= confirm("是否返回服务器时间?");//根据用户确认调用服务器操作
if (b)
{
var message
= 'GetServerTime';
var context
= 'GetServerTime';
<%
=sCallBackFunctionInvocation%>
}
}
}
function ShowServerTime(timeMessage, context)
{
alert('服务器当前时间为:\n' + timeMessage);
}
function OnError(message, context)
{
alert('An unhandled exception has occurred:\n' + message);
}
</script
>
<
link href
=
"
Common/Css/StyleSheet.css
"
rel
=
"
stylesheet
"
type
=
"
text/css
"
/>
</
head
>
<
body
>
<
form id
=
"
form1
"
runat
=
"
server
"
>
<
div
>
<
span style
=
"
font-family: 宋体
"
><
span style
=
"
font-family: 宋体
"
></
span
>
<
table width
=
"
529
"
style
=
"
224px; height: 71px
"
>
<
tr
>
<
td style
=
"
766px; height: 16px
"
>
<
p
>
<
span style
=
"
color: #ff0000; font-family: 宋体
"
><
b
>
演示内容:
</
b
></
span
></
p
>
<
ul
>
<
li
><
span style
=
"
font-family: 宋体
"
>
改变客户端控件事件响应函数
</
span
></
li
><
li
>
改变客户端控件响应函数脚本
</
li
>
<
li
>
无刷新调用服务端函数,并使用客户端对话框交互,将结果返回服务端
</
li
>
</
ul
>
</
td
>
</
tr
>
<
tr
>
<
td style
=
"
766px; height: 51px;
"
>
演示改变客户端控件的响应函数
<
input type
=
"
button
"
class
=
"
Button
"
id
=
"
Button1
"
style
=
"
111px;
"
onclick
=
"
f1();
"
value
=
"
客户端
"
runat
=
"
server
"
/>
&
nbsp;
<
asp:Button ID
=
"
Button2
"
Runat
=
"
server
"
Text
=
"
服务端
"
Width
=
"
114px
"
Height
=
"
20px
"
OnClick
=
"
Button2_Click
"
CssClass
=
"
Button
"
/></
td
>
</
tr
>
<
tr
>
<
td style
=
"
766px; height: 150px
"
>
<
p
>
&
nbsp;
</
p
>
<
p
>
演示改变客户端控件的响应脚本
</
p
>
<
asp:TextBox ID
=
"
TextBox1
"
Runat
=
"
server
"
Height
=
"
77px
"
Width
=
"
231px
"
TextMode
=
"
MultiLine
"
>
alert(
&
quot;服务端指定函数1
&
quot;);
</
asp:TextBox
>
<
input type
=
"
button
"
class
=
"
Button
"
id
=
"
Button3
"
style
=
"
231px;
"
value
=
"
客户端激发函数
"
runat
=
"
server
"
/>
<
asp:Button ID
=
"
Button4
"
Runat
=
"
server
"
Width
=
"
111px
"
Text
=
"
服务端指定函数
"
OnClick
=
"
Button4_Click
"
CssClass
=
"
Button
"
/>&
nbsp;
<
asp:Button ID
=
"
Button5
"
runat
=
"
server
"
Height
=
"
20px
"
Width
=
"
114px
"
Text
=
"
服务端指定并执行
"
OnClick
=
"
Button5_Click
"
CssClass
=
"
Button
"
/></
td
>
</
tr
>
<
tr
>
<
td style
=
"
766px; height: 57px; vertical-align: top;
"
>
&
nbsp;
<
br
/>
演示无刷新B
/
S联动
<
input type
=
"
button
"
class
=
"
Button
"
id
=
"
Button6
"
style
=
"
231px;
"
onclick
=
"
FirstCallServer();
"
value
=
"
服务端无刷新调用,并用对话框交互
"
/>
</
td
>
</
tr
>
</
table
>
</
span
></
div
>
</
form
>
</
body
>
</
html
>
ChangeAtt.aspx.cs
using
System;
using
System.Web.UI;
public
partial
class
ChangeAtt_aspx : ICallbackEventHandler
{
public
string
sCallBackFunctionInvocation;
void
Page_Load(
object
sender, System.EventArgs e)
{
sCallBackFunctionInvocation
=
this
.GetCallbackEventReference(
this
,
"
message
"
,
"
RefSwitch
"
,
"
context
"
,
"
OnError
"
);
}
public
string
RaiseCallbackEvent(
string
eventArgument)
{
string
[] aStr
=
eventArgument.Split((
"
\n
"
).ToCharArray());
string
commstr, param1, param2, param3;
commstr
=
""
;
param1
=
""
;
param2
=
""
;
param3
=
""
;
switch
(aStr.Length)
{
case
0
:
commstr
=
""
;
break
;
case
1
:
commstr
=
aStr[
0
];
break
;
case
2
:
commstr
=
aStr[
0
];
param1
=
aStr[
1
];
break
;
case
3
:
commstr
=
aStr[
0
];
param1
=
aStr[
1
];
param2
=
aStr[
2
];
break
;
case
4
:
commstr
=
aStr[
0
];
param1
=
aStr[
1
];
param2
=
aStr[
2
];
param3
=
aStr[
3
];
break
;
default
:
commstr
=
aStr[
0
];
param1
=
aStr[
1
];
param2
=
aStr[
2
];
param3
=
aStr[
3
];
break
;
}
string
s
=
""
;
switch
(commstr)
{
case
"
FirstCallServer
"
:
s
=
"
GetTime?
"
;
break
;
case
"
GetServerTime
"
:
s
=
DateTime.Now.ToString();
break
;
}
return
s;
}
void
Button2_Click(
object
sender, EventArgs e)
//
指定客户端响应事件变更
{
if
(Button2.ToolTip
==
"
函数f2
"
)
{
Button1.Attributes.Add(
"
onclick
"
,
"
f1();
"
);
Button2.ToolTip
=
"
函数f1
"
;
}
else
{
Button1.Attributes.Add(
"
onclick
"
,
"
f2();
"
);
Button2.ToolTip
=
"
函数f2
"
;
}
string
scriptKey
=
"
intoPopupMessage:
"
+
this
.UniqueID;
if
(
!
Page.IsStartupScriptRegistered(scriptKey)
&&
Page.IsPostBack)
{
string
scriptBlock
=
@"
<script language=""JavaScript"">
alert(
""
%%
POPUP_MESSAGE
%%
""
);
</
script
>
"
;
scriptBlock
=
scriptBlock.Replace(
"
%%POPUP_MESSAGE%%
"
,
"
函数变更为:
"
+
Button2.ToolTip);
Page.RegisterStartupScript(scriptKey, scriptBlock);
}
}
void
Button4_Click(
object
sender, EventArgs e)
//
指定客户端脚本
{
string
scriptKey
=
"
intoServerScript:
"
+
this
.UniqueID;
if
(
!
Page.IsStartupScriptRegistered(scriptKey)
&&
Page.IsPostBack)
{
string
scriptBlock
=
@"
<
script language
=
""
JavaScript
""
>
function sf1()
{
"
;
scriptBlock
+=
TextBox1.Text;
scriptBlock
+=
@"
}
</
script
>
"
;
Page.RegisterStartupScript(scriptKey, scriptBlock);
}
Button3.Attributes.Add(
"
onclick
"
,
"
sf1();
"
);
}
void
Button5_Click(
object
sender, EventArgs e)
//
指定客户端脚本并执行
{
Button4_Click(
null
,
null
);
string
scriptKey
=
"
doIntoServerScript:
"
+
this
.UniqueID;
if
(
!
Page.IsStartupScriptRegistered(scriptKey)
&&
Page.IsPostBack)
{
string
scriptBlock
=
@"
<script language=""JavaScript"">
sf1();
</
script
>
"
;
Page.RegisterStartupScript(scriptKey, scriptBlock);
}
}
}
查看全文
相关阅读:
Cocos坐标之convertToNodeSpace、convertToWorldSpace、convertToNodeSpaceAR、convertToWorldSpaceAR区别和用法
CocosCraetor中图像资源Texture和SpriteFrame的区别
git的基本使用方式
C++中的内存对齐
介绍 Android 的 Camera 框架
Android多媒体框架图
Android程序架构基本内容概述
Android 框架简介--Java环境(转)
android架构图示
最全的Android源码目录结构详解(转)
原文地址:https://www.cnblogs.com/net66/p/60730.html
最新文章
没有题目的题目
小车问题
等差数列末项计算
独木桥
恋愛SLG-「メイド服セット」ゲットチャレンジ!
恋愛SLG-「めがね」ゲットチャレンジ!
恋愛SLG-「猫セット」ゲットチャレンジ!
HDU 2222 Keywords Search AC自动机
HDU 5510 Bazinga KMP
51nod 1070 Bash游戏 V4 斐波那契博弈
热门文章
51nod 1414 冰雕 暴力
51nod 1212 无向图最小生成树
51nod 1441 士兵的数字游戏 质数筛选
51nod 1140 矩阵相乘结果的判断 随机算法
Unity初步 基本拼图实现
Cocos Creator Animation 组件
Cocos Creator中使用事件中心
使用腾讯云服务器CentOS搭建JavaWeb环境
Cocos动作执行时,同时执行完毕再进行下一步的方式
CocosCreator检测动作执行完毕的方法~之一吧,应该= =
Copyright © 2011-2022 走看看