如何引用另一个页面的控件?

HardlyStudy 2010-03-22 03:07:09
一个很简单的程序,
2个页面,一个是Search.aspx, 一个是Result.aspx
Search.aspx上面有一个DropDownList,一个Textbox和一个Button,
在DropDownList选择一项,在Textbox中输入一些内容,然后点击Button,跳到Result.aspx页上,用一个Label控件把刚才在
Search.aspx上的DropDownList选择的内容和Textbox中输入的内容显示出来。

<body>
<form id="Search" runat="server">
Search<br />
<asp:DropDownList ID="list1" runat=server OnSelectedIndexChanged="list1_SelectedIndexChanged">
<asp:ListItem>Title</asp:ListItem>
<asp:ListItem>ISBN</asp:ListItem>
<asp:ListItem>Author</asp:ListItem>
<asp:ListItem>Subject</asp:ListItem>
</asp:DropDownList>
<asp:TextBox ID="txt1" runat="server"></asp:TextBox> 
<input type="button" name="Submit" value="Go" onclick="location.href='Result.aspx'" />
</form>
</body>
</html>

现在已经实现了点击Button后跳到'Result.aspx'页面,但是怎样显示Search.aspx上的内容呢?

我想在'Result.aspx'的Page_Load里直接写lblMessage.Text=......
但是好像引用不到Search.aspx上的控件。
谁能告诉我怎么办?
...全文
274 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
HardlyStudy 2010-03-23
  • 打赏
  • 举报
回复
好了,不钻牛角尖了!
结贴!
感谢大家的热心帮助!
duxj007 2010-03-22
  • 打赏
  • 举报
回复
好复杂啊
HardlyStudy 2010-03-22
  • 打赏
  • 举报
回复
哎,越来越复杂了,纠结中。。。。。。

jenny0810 2010-03-22
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 hardlystudy 的回复:]
纠正一下应该是:+ list1.value + '%20' + txt1.value
但是很不智能啊,如果我要加多个空格,就没有办法了,我试了在中间多打几个'%20',但是都只显示一个空格。。。。。。
对了,还有其它符号呢,我在哪里可以查到每种符号是用什么表示的?
[/Quote]不明白 你为什么要加这么多空格,或许换种思路可以
gongsun 2010-03-22
  • 打赏
  • 举报
回复
可以通过表单提交的方式,post传值。
HardlyStudy 2010-03-22
  • 打赏
  • 举报
回复
这是url编码的表示方式,对于每个字节,可以用%后面跟ASCII码的两位十六进制值表示。
对于半角字符,直接查ASCII码表;对于汉字,需要查区位码表。


百度上面找的,但是还是不知道如果要加多个空格怎么办
HardlyStudy 2010-03-22
  • 打赏
  • 举报
回复
纠正一下应该是:+ list1.value + '%20' + txt1.value
但是很不智能啊,如果我要加多个空格,就没有办法了,我试了在中间多打几个'%20',但是都只显示一个空格。。。。。。
对了,还有其它符号呢,我在哪里可以查到每种符号是用什么表示的?
ctmdxd 2010-03-22
  • 打赏
  • 举报
回复
空格是用"20%"代替的
+ list1.value + "20%" + tx1.value
HardlyStudy 2010-03-22
  • 打赏
  • 举报
回复
原来直接用value啊,我就说我用text属性怎么不行

<input type="button" name="Submit" value="Go" onclick="location.href='Result.aspx?id=' + list1.value + txt1.value" />
现在这样已经可以把dropdownlist和text中的内容显示出来了,

但是我还想请教下,如果我要在现实的时候中间加一些空格或其他符合该怎么写?
我试了+ list1.value & " " & + txt1.value
还有 + list1.value + " " + txt1.value
都不行,应该怎么写才对呢?
ctmdxd 2010-03-22
  • 打赏
  • 举报
回复
这样属于html和asp.net控件混用,容易出问题呢。最好要么全用.net控件+ webForm模型,
要么全用html,然后在后台通过Request.Form获得html控件的值
ctmdxd 2010-03-22
  • 打赏
  • 举报
回复
<input type="button" name="Submit" value="Go" onclick="location.href='Result.aspx?id=' + tx1.value "/>
HardlyStudy 2010-03-22
  • 打赏
  • 举报
回复
还有点儿问题
<input type="button" name="Submit" value="Go" onclick="location.href='Result.aspx?id=txt1.Text'"/>
我在文本框中输入了内容然后点击按钮,显示出的居然是“txt1.Text”, 而不是真的txt1中输入的内容,
哪里写的不对吗?
guozi612 2010-03-22
  • 打赏
  • 举报
回复
这是属于页面间传值问题,
如果用Redirect来跳转的话,传值的方法很多,url QueryString,session都可以。
如果你用Server.Transfer来做,可以在目标页面取原页对象的值,可以在原页面定义属性,当按钮事件时给属性赋好值。
hj88624 2010-03-22
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 hardlystudy 的回复:]

<asp:label ID="lblMessage" runat="server" Text='Result.aspx?k1=list1.SelectedItem.Value&k2=txt1.Text'/>
好像还不行
[/Quote]
这是Result.aspx页面
<asp:label ID="lblMessage" runat="server" Text=<%=s1%><%=s2%>/>
Jing3_zhang 2010-03-22
  • 打赏
  • 举报
回复
路过,看看,学学
hugo12345 2010-03-22
  • 打赏
  • 举报
回复
在前一个页面公布textbox,后一个页面访问前一个页面的公布出来的属性就可以了!
z812183667 2010-03-22
  • 打赏
  • 举报
回复
Url传参吧~!
wybxs2010 2010-03-22
  • 打赏
  • 举报
回复
参考方法:
1.同上面的方法一样,也就是Session,Cookie,Applicaton,Cache等状态处理
2.其实每个页面都有一个后置的类,在每个页面的Page指令中都有一个继承的类.......
丰云 2010-03-22
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 hardlystudy 的回复:]
<asp:label ID="lblMessage" runat="server" Text='Result.aspx?k1=list1.SelectedItem.Value&k2=txt1.Text'/>
好像还不行
[/Quote]
HardlyStudy 2010-03-22
  • 打赏
  • 举报
回复
<asp:label ID="lblMessage" runat="server" Text='Result.aspx?k1=list1.SelectedItem.Value&k2=txt1.Text'/>
好像还不行
加载更多回复(9)

62,254

社区成员

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

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

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

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