客户端如何调用服务器端的函数?

Danny1123 2005-12-20 08:45:02
如题
...全文
284 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
首先,你要接受客户端调用的对象要实现 IPostBackEventHandler 接口。(如果对于页面,那么通常就是你 code-behide 代码所在的类)

然后,你当然要在类内实现 RaisePostBackEvent 方法。

最后,假设控件Ctrl的客户端onclick事件要调用服务器端,这样写(vb.net):
Ctrl.Attributes.Add("onclick",page.GetPostBackEventReference(me,"参数"))

或者,如果你想在javascript函数中调用服务器端,可以这样写(vb.net):
dim scr="<script language=javascript>"+vbcrlf + _
"function abc(){"+vbcrlf+ _
" if(1=2){";
" var x=3;"+vbcrlf+ _
" {0};}"+vbcrlf + _
" else"+vbcrlf+ _
" doOthers();"+vbcrlf+ _
"}"
page.registerStartup("registerAbc", _
string.format(scr,page.GetPostBackEventReference(me,"参数"))

注意,所谓调用服务器端,就是提交(Form.Submit可以看看客户端上自动产生的脚本代码)服务器端,然后服务器端在 RaisePostBackEvent 方法中根据参数(或者没有参数)来修改当前的内容。
Seeko0 2005-12-20
  • 打赏
  • 举报
回复
问题没有说清楚
xczgb 2005-12-20
  • 打赏
  • 举报
回复
向楼上的学习。
swordragon 2005-12-20
  • 打赏
  • 举报
回复
1、调用服务器端按钮的单击事件
<script language="javascript">
document.getElementById("Button1").click();
</script>

2、调用服务器端的函数(仅限于页面打开的时候)
public function string GetString()
{
return "Test";
}

string strJavaScript = "<script language='javascript'>alert(" + GetString() + ");</script>";
Response.Write(strJavaScript);

3、客户端的写法
<script language="javascript">
alert("<%=GetString()%>");
</script>
醉龍 2005-12-20
  • 打赏
  • 举报
回复
楼主说的不是很清楚,这有很多种情况!
swordragon 2005-12-20
  • 打赏
  • 举报
回复
原理上是不可以调用服务器端的函数的,除非刷新页面或者产生事件回调.
luckyprg 2005-12-20
  • 打赏
  • 举报
回复
document.all.服务器端按钮名.focus();
document.all.服务器端按钮名.click();
zqsntws 2005-12-20
  • 打赏
  • 举报
回复
楼上强,学习。

62,052

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧