首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 操作系统-> Windows xp教程
[ASP.NET]如何在客户端调用服务端代码-.NET教程,Asp.Net开发
作者:网友供稿 点击:998
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
[asp.net][原创]如何在客户端调用服务端代码
比如我们在页面上有3个textbox,3个button,每个button分别执行不同的动作。我们现在想在textbox中检测是否按下了回车键,如果是则执行不同的button调用。即textbox1中按下回车就执行button1的动作,......

测试中,我发现要调用服务器端代码必须调用__dopostback函数,但该函数除了在放置有datagrid控件的页面中会由系统产生外,其他的页面中并不存在。(可以通过查看源文件看到该代码)。这样我们必须手工在aspx中添加__dopostback函数,和函数一起添加的还有两个隐藏元素,__eventtarget和__eventargument,这是__dopostback所必须的,实际上,.net是把产生事件的元素名称以及参数传到,__eventtarget和__eventargument。然后再调用form的submit函数提交回服务器的,服务器端根据传回来的参数就知道是哪个控件被触发了,从而调用它的相应后端代码,然后再将新页面回送回客户端的。
以下是我的测试页面,其中使用了两种方法来检测textbox中的按键
webform2.aspx
--------------------------------------------------------
<%@ page language="c#" codebehind="webform2.aspx.cs" autoeventwireup="false" inherits="utf8test.webform2" %>
<!doctype html public "-//w3c//dtd html 4.0 transitional//en" >
<html>
<head>
<title>webform2</title>
<meta content="microsoft visual studio .net 7.1" name="generator">
<meta content="c#" name="code_language">
<meta content="javascript" name="vs_defaultclientscript">
<meta content="http://schemas.microsoft.com/intellisense/ie5"; name="vs_targetschema">
<script language="javascript" event="onkeydown" for="textbox1">


if(event.keycode==13)<!-- 注意大小写-->
{
__dopostback(button1,);
return false;<!--很重要,不然会选择button1进行提交 -->
}

</script>
<script language="javascript" event="onkeydown" for="textbox2">


if(event.keycode==13)
{
__dopostback(button2,);
return false;<!--很重要,不然会选择button1进行提交 -->
}

</script>
<script language="javascript">
function keypress()
{
if(event.keycode==13)
{

__dopostback(button3,);
event.keycode=0; <!--很重要,不然会选择button1进行提交 -->
return false;<!--很重要,不然会选择button1进行提交 -->
}
}
</script>
</head>
<body ms_positioning="gridlayout">
<form id="form1" method="post" runat="server">
<input type="hidden" name="__eventtarget"> <input type="hidden" name="__eventargument">
<script language="javascript" type="text/javascript">
<!--
function __dopostback(eventtarget, eventargument) {
var theform;
if (window.navigator.appname.tolowercase().indexof("microsoft") > -1) {
theform = document.form1;
}
else {
theform = document.forms["form1"];
}
theform.__eventtarget.value = eventtarget.split("$").join(":");
theform.__eventargument.value = eventargument;
theform.submit();
}
// -->
</script>
<asp:button id="button1" style="z-index: 101; left: 192px; position: absolute; top: 88px" runat="server"
text="button1"></asp:button><asp:textbox id="textbox1" style="z-index: 102; left: 16px; position: absolute; top: 88px" runat="server"></asp:textbox>
<asp:button id="button2" style="z-index: 103; left: 192px; position: absolute; top: 120px" runat="server"
text="button2"></asp:button>
<asp:textbox id="textbox2" style="z-index: 104; left: 16px; position: absolute; top: 120px" runat="server"></asp:textbox>
<asp:textbox id="textbox3" style="z-index: 105; left: 16px; position: absolute; top: 152px" runat="server"></asp:textbox>
<asp:button id="button3" style="z-index: 106; left: 192px; position: absolute; top: 152px" runat="server"
text="button3"></asp:button>
<asp:label id="label1" style="z-index: 107; left: 24px; position: absolute; top: 56px" runat="server"></asp:label></form>
</body>
</html>

webform2.aspx.cs
----------------------------------------------------------------------
using system;
using system.collections;
using system.componentmodel;
using system.data;
using system.drawing;
using system.web;
using system.web.sessionstate;
using system.web.ui;
using system.web.ui.webcontrols;
using system.web.ui.htmlcontrols;

namespace utf8test
{
/// <summary>
/// webform2 的摘要说明。
/// </summary>
public class webform2 : system.web.ui.page
{
protected system.web.ui.webcontrols.textbox textbox1;
protected system.web.ui.webcontrols.button button2;
protected system.web.ui.webcontrols.textbox textbox2;
protected system.web.ui.webcontrols.textbox textbox3;
protected system.web.ui.webcontrols.button button3;
protected system.web.ui.webcontrols.label label1;
protected system.web.ui.webcontrols.button button1;

private void page_load(object sender, system.eventargs e)
{
// 在此处放置用户代码以初始化页面
textbox3.attributes.add("onkeypress","keypress()");//注意大小写
}

#region web 窗体设计器生成的代码
override protected void oninit(eventargs e)
{
//
// codegen: 该调用是 asp.net web 窗体设计器所必需的。
//
initializecomponent();
base.oninit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void initializecomponent()
{
this.button1.click += new system.eventhandler(this.button1_click);
this.button2.click += new system.eventhandler(this.button2_click);
this.button3.click += new system.eventhandler(this.button3_click);
this.load += new system.eventhandler(this.page_load);

}
#endregion

private void button1_click(object sender, system.eventargs e)
{
label1.text = "1";
}

private void button2_click(object sender, system.eventargs e)
{
label1.text = "2";
}

private void button3_click(object sender, system.eventargs e)
{
label1.text = "3";
}
}
}





文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·用ghost完美克隆windows xp+sp2
·[ASP.NET]如何在客户端调用服务端代码-.NET教程,Asp.Net开发
·安装windows sp2后 程序为何不能运行
·windows xp系统虚拟内存的标准设置方法
·SQL Server端口更改后的数据库连接方式-ASP教程,数据库相关
·Java学生成绩管理系统源代码-JSP教程,Java技巧及代码
·精华的微软文章".NET 数据访问架构指南"-.NET教程,数据库应用
·系统高手 xp最新应用技巧六招
·windows xp操作系统疑难问题巧解决
·SQL Server 调用C#。net写的Dll ,(分享我的HelloWorld测验)-.NET教程,C#语言
最新文章
·谈谈三年来做站的经验_站长心得
·用户的体验习惯化与去习惯化_站长心得
·web2.0网站需要借鉴的七种传统赢利模式_站长心得
·网页布局的位置重心与位置间的对比关系_站长心得
·google adsense公益广告的替代方法_google推广
·google adsense全面解析_google推广
·2006年关于google等的15项预测_google推广
·google搜索技巧_google推广
·有趣的网上搜索_google推广
·网站制作简易流程介绍_站长心得
相关主题
  • [ASP.NET开发系列]在用户控件中添加事件-.NET教程,Asp.Net开发
  • [ASP.NET 教程] 三. Web Forms编程模型-.NET教程,Asp.Net开发
  • [ASP.NET 教程] 三. Web Forms编程模型-.NET教程,Asp.Net开发
  • [ASP.NET 教程] 二. Web Forms-.NET教程,Asp.Net开发
  • [ASP.NET 教程] 一. Web基础-.NET教程,Asp.Net开发
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭