VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 811|回复: 9

ASP.NET中画面传值问题

[复制链接]

7

主题

15

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
发表于 2020-1-4 16:40:01 | 显示全部楼层 |阅读模式
我有一个画面1.aspx,里面有一个textbox和button
我在button事件中添加下面事件:
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        TextBox1.Text = "aaaa"
End Sub
然后把这个画面提交到下一个画面2.aspx
<asp:Button ID="Button1" runat="server" Text="Button"  PostBackUrl ="~/2.aspx" />
为什么我在下一个画面(2.aspx)中用request.form("textbox1")获取不了上一个画面的值呢?
我在1.aspx中的text框输入值,下个画面就能获取值.但是为什么就不能在click事件中给textbox付值后下个画面就不能接收呢?
回复

使用道具 举报

0

主题

10

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-1-4 18:24:01 | 显示全部楼层
因为你定义了PostBackUrl ="~/2.aspx" 后, 页面根本就不会触发你的click事件, 就是说提交到2.aspx前根本就不会给TextBox1.Text赋值, 所以在2.aspx中就不可能取到

回复

使用道具 举报

0

主题

64

帖子

35.00

积分

新手上路

Rank: 1

积分
35.00
发表于 2020-1-4 18:27:01 | 显示全部楼层
你怎么获取、怎么赋值?你在两个地方都设置断点调试一下,看看click事件到底执行了没有,以及哪一个中断先执行,哪一个后执行?
回复

使用道具 举报

0

主题

64

帖子

35.00

积分

新手上路

Rank: 1

积分
35.00
发表于 2020-1-4 22:57:01 | 显示全部楼层
因为你定义了PostBackUrl ="~/2.aspx" 后, 页面根本就不会触发你的click事件
————————————————————————————————————————
只要访问 PreviousPage 就会触发click事件。
回复

使用道具 举报

7

主题

15

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-1-5 00:06:01 | 显示全部楼层
那我应该怎么办呢?我画面是一定要跳转到2.aspx的,而且1.aspx中textbox一定要在button click后才会用值.
我应该用什么办法解决呢?
回复

使用道具 举报

0

主题

64

帖子

35.00

积分

新手上路

Rank: 1

积分
35.00
发表于 2020-1-6 09:51:01 | 显示全部楼层
在2.aspx中写:

Page1 prev=(Page1)this.PreviousPage;
if(prev==null)
  throw new Exception("没有执行1.aspx。");

TextBox txtboxOnPage1=Page1.TextBox1;

并且txtboxOnPage1的Text可以得到click以后的值。
回复

使用道具 举报

0

主题

64

帖子

35.00

积分

新手上路

Rank: 1

积分
35.00
发表于 2020-1-6 09:57:01 | 显示全部楼层
Page1 prev=(Page1)this.PreviousPage;
if(prev==null)
  throw new Exception("没有执行1.aspx。");

TextBox txtboxOnPage1=prev.TextBox1;


其中,Page1是你的1.aspx的code behind代码中定义的类型。
回复

使用道具 举报

7

主题

15

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-1-6 11:12:01 | 显示全部楼层
还有VB的语法啊?上面的我没看懂
谢谢
回复

使用道具 举报

0

主题

21

帖子

12.00

积分

新手上路

Rank: 1

积分
12.00
发表于 2020-1-6 11:15:01 | 显示全部楼层
default.aspx

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        TextBox1.Text = "hello wyp"
    End Sub

Result.aspx
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim prvPage As Page = Page.PreviousPage
        Response.Write(CType(prvPage.FindControl("textbox1"), TextBox).Text)
    End Sub
回复

使用道具 举报

7

主题

15

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-1-6 13:15:01 | 显示全部楼层
OK 感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表