在asp.net的Web表单间传值

本文介绍了在ASP.NET Web表单中实现页面间传值的三种方法:使用Querystring、Session变量及Server.Transfer,并分析了它们各自的优缺点。

介绍 Asp.net的Web表单为开发人员提供了极佳的事件驱动编程模型,简化了应用程序的开发设计,但同时也带来了一些问题。例如,在传统ASP编程中可以 很容易地将数据用POST方法传送到另一个ASP页面去处理。但要想在Asp.net的Web表单模型中完成同样的事情却不可能。然而,可以采用其它的一 些方法来做到。本文列举了几个办法,具体来说,这些方法包括:querystring,session和Server.Transfer。

使用Querystring Querystring是页面间传值的老办法。主要的好处就是使用起来非常简单,缺点则是传送的值可以在浏览器的地址栏里看到,而且也不能传送对象。当只需传送少量值并且没有安全性要求时,这个办法尤其适合。要使用这个办法需遵循下列步骤: 创建表单,包括必要的控件 在表单中放置可将表单post到服务器的button或linkbutton控件 在button的click事件处理程序里创建包含了指向目的页面的URL字符串 将要传送的值添加到这个URL字符串里,以作为querystring的参数 使用Response.Redirect导航到指定的URL 下面是代码片段: 源表单 -------------------------------------------------------------- private void Button1_Click(object sender, System.EventArgs e) { string url; url="anotherwebform.aspx?name=" + TextBox1.Text + "&email=" + TextBox2.Text; Response.Redirect(url); }

目的表单 -------------------------------------------------------------- private void Page_Load(object sender, System.EventArgs e) { Label1.Text=Request.QueryString["name"]; Label2.Text=Request.QueryString["email"]; }

使用session变量 这是另一种在页面间传值的办法。利用这个办法,可以将要传送的值保存到session变量,然后在另一个Web表单中进行存取。然而,需要知道的是,将太 多的数据保存到session变量会给服务器带来额外的负担。所以,应该谨慎地使用这种方法。此外,采用这种方法可能需要在程序中以人工方式来清除不需要 的session变量。典型的用法如下: 创建Web表单,包括必要的控件 在表单中放置可将表单post到服务器的button或linkbutton控件 在button的事件处理程序里设置session变量,将要传送的值放入其中 使用Response.Redirect导航到目的表单 在目的表单存取session变量,如必要并进行清除 以下是代码片段: 源表单 -------------------------------------------------------------- private void Button1_Click(object sender, System.EventArgs e) { //textbox1 and textbox2 are webform controls Session["name"]=TextBox1.Text; Session["email"]=TextBox2.Text; Response.Redirect("anotherwebform.aspx"); }

目的表单 -------------------------------------------------------------- private void Page_Load(object sender, System.EventArgs e) { Label1.Text=Session["name"].ToString(); Label2.Text=Session["email"].ToString(); Session.Remove("name"); Session.Remove("email"); }

使用Server.Transfer 这个办法稍微复杂。做法是先将要传送的数据定义为源表单的property属性,因此需要在源表单添加些属性定义代码。然而换来的好处是代码相当清晰,而且能体现出面向对象的特点。步骤如下: 创建Web表单,包括必要的控件 创建用以返回要传送数值的Get属性 在表单中放置可将表单post到服务器的button或linkbutton控件 在button的事件处理程序里调用Server.Transer方法以导航到目的表单 在目的表单中通过Context.Handler属性取得源表单的引用。这样就可以使用在源表单创建的Get属性来存取要传送的数据 以下是代码片段: 源表单 -------------------------------------------------------------- public string Name { get { return TextBox1.Text; } }

public string EMail { get { return TextBox2.Text; } }

private void Button1_Click(object sender, System.EventArgs e) { Server.Transfer("anotherwebform.aspx"); }

目的表单 -------------------------------------------------------------- private void Page_Load(object sender, System.EventArgs e) { //create instance of source web form WebForm1 wf1; //get reference to current handler instance wf1=(WebForm1)Context.Handler; Label1.Text=wf1.Name; Label2.Text=wf1.EMail; }

小结 本文介绍了三种在Asp.net页面间传值的办法:Querystring,Session和Server.Transfer。同时也对这三种办法的优缺点进行了分析。

随着人类对生命健康需求的不断增长,新药研发面临着前所未有的挑战。统的药物研发流程通常耗时长达十年以上,耗资数十亿美元,且最终成功率极低,这在制药界被称为“反摩尔定律”困境。近年来,人工智能技术的飞速发展,特别是深度学习和大数据分析的广泛应用,为新药发现带来了革命性的契机。人工智能能够从海量的化学和生物数据中挖掘潜在规律,显著加速药物靶点发现、先导化合物优化等关键环节。在此背景下,本研究旨在设计并实现一个基于人工智能的新药发现辅助系统,以期为统药物研发流程提供高效的智能化辅助工具,从而有效缩短研发周期并大幅降低研发成本。本研究以Python作为主要开发语言,深度结合PyTorch和TensorFlow两大主流深度学习框架,并集成RDKit化学信息学工具包,构建了一个功能完善的新药发现辅助系统。系统的核心目标是利用先进的人工智能技术辅助新药分子的设计与活性评估。在研究方法上,本文创新性地提出了一种融合多模态数据的新药发现算法。该算法综合处理分子的多种表示形式,包括一维的SMILES序列、二维的分子图结构以及三维的空构象数据。通过构建多通道神经网络,系统能够有效提取并融合不同模态的特征,从而全面捕捉分子的理化性质与生物学活性之的复杂非线性关系。 【课程报告内容】 摘要 第1章 绪论 第2章 相关技术与理论 第3章 系统需求分析 第4章 系统总体设计 第5章 系统详细设计与实现 第6章 系统测试与分析 第7章 总结与展望 参考文献 附件-实现指南
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值