请问如何得到2_2_2

delva 2007-08-24 10:17:30
一个测试:
a页面的值post到b页面

a.aspx

<form id="Form1" method="post" runat="server">
<asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
<asp:Button id="Button1" runat="server" Text="Button" />
</form>

private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
TextBox1.Text="1";
else
TextBox1.Text="2";
}

private void Button1_Click(object sender, System.EventArgs e)
{
TextBox1.Text="2";
Session["eh"]="2";
Server.Transfer("b.aspx");
//Response.Redirect("b.aspx");
}

b.aspx

private void Page_Load(object sender, System.EventArgs e)
{
string s1=Request.Params["TextBox1"];
string s2=Session["eh"].ToString();
string s3=Request.Form["TextBox1"];
Response.Write(s1+"_"+s2+"_"+s3);
}

得到:
1_2_1

请问如何得到2_2_2
...全文
183 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
best8625 2007-09-06
  • 打赏
  • 举报
回复
把2填到Textbox中,然后Click
delva 2007-09-06
  • 打赏
  • 举报
回复
我如何把TextBox1.Text="2"; 带过去,用Request.Form["TextBox1"]取得?
best8625 2007-09-06
  • 打赏
  • 举报
回复
所以说它取的值也就是在Click之前的1了
best8625 2007-09-06
  • 打赏
  • 举报
回复
请先弄明白Transfer用法

终止当前页的执行,并为当前请求开始执行新页。

那么看一下楼主的程序,

加载完页面后,TextBox1.Text="1";
然后生成一个Html页面。。。。

而Button Click以后,则执行到为TextBox1赋值,但是只是赋了一个值还没有生成相应的Html代码,就被Transfer所终止执行当前页面了。而Session不一样,存就是进去了,所以说还能取到

delva 2007-09-06
  • 打赏
  • 举报
回复
没人顶了?
zhenjiaobing 2007-08-24
  • 打赏
  • 举报
回复
那你别用Server.Transfer("b.aspx");
修改TextBox1的值然后在客户端post过去咯。/
要解决这问题不一定要post咯。
按照morixing的说话也可以啊!
你不能钻牛角尖的。解决问题最重要!
delva 2007-08-24
  • 打赏
  • 举报
回复
morixing 我是希望post过去

zhenjiaobing 你想的我也想到了,我想知道怎么解决

谢谢二位的精彩回答!
zhenjiaobing 2007-08-24
  • 打赏
  • 举报
回复
表达能力不强!
zhenjiaobing 2007-08-24
  • 打赏
  • 举报
回复
我知道了。
你在a.aspx的Server.Transfer("b.aspx");时候,提交给b.aspx的值是刚刚在a.aspx点Button1刷新回发到服务器时的值也就是这时TextBox1还是等于1.
那这行代码TextBox1.Text="2"; 无效!
jimu8130 2007-08-24
  • 打赏
  • 举报
回复
不好意思,我理解错误
morixing 2007-08-24
  • 打赏
  • 举报
回复
private void Button1_Click(object sender, System.EventArgs e)
{
TextBox1.Text="2";
Session["eh"]="2";
Server.Transfer("b.aspx?TextBox1Text=" + TextBox1.Text);
//Response.Redirect("b.aspx");
}

b.aspx
string s1=Request.QueryString["TextBox1Text"];
string s2=Session["eh"].ToString();
string s1=Request.QueryString["TextBox1Text"];

jimu8130 2007-08-24
  • 打赏
  • 举报
回复
不是字符串都支持replace函数么?
zhenjiaobing 2007-08-24
  • 打赏
  • 举报
回复
会这样? 我试试!
delva 2007-08-24
  • 打赏
  • 举报
回复
我在研究服务器端post,如果绕开就不是这个问题了。

我想知道,如何才能把textbox1的值修改后,post过去。

62,046

社区成员

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

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

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

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