ASP.NET中如何在中追加参数???

ragweed_wg 2004-11-01 05:18:34
ASP.NET中如何在<!--#include vartual="a.aspx"-->时,追加参数???


类似实现a.aspx?name='11'的功能……


...全文
348 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zlc810821 2004-11-03
  • 打赏
  • 举报
回复
用 <iframe src=a.aspx?name='11'></iframe> 也可以
mmcgzs 2004-11-03
  • 打赏
  • 举报
回复
<%Server.Execute("left.aspx?classid=110");%>
我用的是C#,如果是VB的话,去掉 分号旧可以了。
goody9807 2004-11-02
  • 打赏
  • 举报
回复
ASP.NET WEB FORMS 页面间的传值方法

ASP.NET WEB FORMS 给开发者提供了极好的事件驱动开发模式。然而这种简单的应用程序开发模式却给我们带来了一些小问题,举个例子,在传统的ASP应用程序中,你能够通过POST方法很容易的把一个值或多个值从一个页面传送到另一个页面,用同样的方法在ASP.NET中实现有点麻烦。在这里,我们可以通过其他方式来解决这种情形。ASP.NET为我们提供了三种方式,一种是可以通过用QueryString来传送相应的值,再一种是通过session变量来传送相应的值,还有就是通过Server.Transfer方法来实现。下面分别一一介绍:


一、使用Querystring
Querystring是一种非常简单的传值方式,其缺点就是会把要传送的值显示在浏览器的地址栏中,并且在此方法中不能够传递对象。如果你想传递一个安全性不是那么太重要或者是一个简单的数值时,用此方法最好不过了。下面通过一个小例子来完成传值工作,步骤如下:
1、创建一个web form
2、在新建的web form中放置一个button1,在放置两个TextBox1,TextBox2
3、为button按钮创建click事件
代码如下:
private void Button1_Click
(object sender, System.EventArgs e)
{
string url;
url="webform2.aspx?name=" +
TextBox1.Text + "&email=" +
TextBox2.Text;
Response.Redirect(url);
}
4、新建一个目标页面命名为webform2
5、在webform2中放置两个Label1,Label2
在webform2的Page_Load中添加如下代码:
private void Page_Load
(object sender, System.EventArgs e)
{
Label1.Text=Request.QueryString["name"];
Label2.Text=Request.QueryString["email"];
}
运行,即可看到传递后的结果了。

二、使用Session变量

使用Session变量传值是一种最常见的方式了,此中方式不仅可以把值传递到下一个页面,还可以交叉传递到多个页面,直至把Session变量的值removed后,变量才会消失。举个例子看看:
1、创建一个web form
2、在新建的web form中放置一个button1,在放置两个TextBox1,TextBox2
3、为button按钮创建click事件
代码如下:
private void Button1_Click
(object sender, System.EventArgs e)
{
Session["name"]=TextBox1.Text;
Session["email"]=TextBox2.Text;
Response.Redirect("webform2.aspx");
}
4、新建一个目标页面命名为webform2
5、在webform2中放置两个Label1,Label2
在webform2的Page_Load中添加如下代码:
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
虽然这种方法有点复杂,但也不失为一种在页面传值的方式。
举个例子看看:
1、创建一个web form
2、在新建的web form中放置一个button1,在放置两个TextBox1,TextBox2
3、为button按钮创建click事件
代码如下:
private void Button1_Click
(object sender, System.EventArgs e)
{
Server.Transfer("webform2.aspx");
}
4、创建过程来返回TextBox1,TextBox2控件的值代码如下:
public string Name
{
get
{
return TextBox1.Text;
}
}

public string EMail
{
get
{
return TextBox2.Text;
}
}
5、新建一个目标页面命名为webform2
6、在webform2中放置两个Label1,Label2
在webform2的Page_Load中添加如下代码:
private void Page_Load
(object sender, System.EventArgs e)
{
//创建原始窗体的实例
WebForm1 wf1;
//获得实例化的句柄
wf1=(WebForm1)Context.Handler;
Label1.Text=wf1.Name;
Label2.Text=wf1.EMail;

}
ragweed_wg 2004-11-02
  • 打赏
  • 举报
回复
<%Server.Execute(我的链接);%> 无效啊,
记得在jsp中支持两种include方法,一种是先编译独立的脚本文件后,再将编译后的html引入到主文件中,另一种是先将脚本引入到主文件,然后在主文件中统一编译。aspx中可有此方法???
mmcgzs 2004-11-02
  • 打赏
  • 举报
回复
<%Server.Execute("left.aspx?classid=110");%>
ragweed_wg 2004-11-02
  • 打赏
  • 举报
回复
Session太占用服务器的资源,不是不得已,最好不要用。
以下是JSP中的方法,在ASPX中如何实现呢????
<!-- 引入通用基本信息 -->
<jsp:include page="/law/pub/caseInfo.jsp" flush="true">
<jsp:param name="case_id" value="<%=strCaseID%>"/>
<jsp:param name="case_p_id" value="<%=strCasePID%>"/>
<jsp:param name="show_type" value="PARTICULAR"/>
</jsp:include>
tiantdesigner 2004-11-02
  • 打赏
  • 举报
回复
你要傳遞東東﹐用session最簡單。
berlin8600 2004-11-02
  • 打赏
  • 举报
回复
原来楼主是jsp高手^O^
1.在.net中<!--#include vartual="a.aspx"-->对应于扩展名为.ascx的控件。
2.如果传参数,session不提倡,在转到当前页面的超链接中加?para1=*¶2=*,然后用Request.QueryString["para1"],Request.QueryString["para2"]取出来就行了,其它方法不常用。
3.下面是个控件实例,看看吧,有帮助。

这是header.ascx,放你要放的页代码。
===============
<script language="c#">
</script>
//放些你想放的代码。
<center>
<table bgcolor="lightblue">
<tr><td align="center"><h3>hello!</h3></td></tr>
<tr><td align="center"><h3>test</h3></td></tr>
</table>
</center>
==================
以下为控件调用。
=================
<%@ Register TagPrefix="snowy" TagName="ErrorHeader" Src="Header.ascx" %>
<html>
<head>
<title></title>
<script language="C#" runat="server" >
void Page_Load()
{
//....
}
</script>
</head>

<body>
<form id="form1" runat="server">
<snowy:ErrorHeader runat="server" />
//其它代码。
</form>
</body>
</html>
会用了吗?

minghui000 2004-11-02
  • 打赏
  • 举报
回复
up + 接分 + 学习
网淘那些事 2004-11-01
  • 打赏
  • 举报
回复
up
heike249 2004-11-01
  • 打赏
  • 举报
回复
你是不是指传两个参数啊,用模扳esay
nchen123 2004-11-01
  • 打赏
  • 举报
回复
不提倡使用 SSI 指令嵌入。 最好是实现成用户控件(User Control).
reddg 2004-11-01
  • 打赏
  • 举报
回复
不可能。
<!--#include vartual="a.aspx"-->相当于把你的a.aspx页面拷贝到现在的地方。除非上一页面追加参数。本页面不能追加。因为request readonly

62,046

社区成员

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

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

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

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