怪异了,还是我太菜?

ysb 2006-10-20 04:59:42
页面很简单,放一个TextBox,一个button,按button,返回自身页面,并传递id参数,valud是Textbox的值,同时,把id参数的值,重新赋给Textbox1
为什么,一旦在page_load中放了TextBox1.Text =aa;后,在Button_Click中就得不到textbox的值了?

protected void Page_Load(object sender, EventArgs e)
{
string aa = "";
try
{
aa = Request.QueryString["Item"];
}
catch (Exception)
{
}
//TextBox1.Text = aa;
}
protected void Button1_Click(object sender, EventArgs e)
{
string url;
url = "Default.aspx?Item=" + TextBox1.Text.ToString().ToUpper();
Response.Redirect(url);
}
...全文
229 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
scow 2006-10-23
  • 打赏
  • 举报
回复
文本框TextBox1的值提交是在loadpostdata这一步加载,这个过程在page_load之前,所以page_load中改变TextBox1的值会覆盖提交的值,而button_click中执行redirect,所以页面每次加载,ispostback都是false,导致赋值过程每次都执行,当然就出现楼主所说取不到TextBox1值的情况.
scow 2006-10-23
  • 打赏
  • 举报
回复
?
Page_Load在Button1_Click之前执行啊(不管你点几次按钮),楼主目的是什么?
mobydick 2006-10-23
  • 打赏
  • 举报
回复
public partial class Default3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//如果是PostBack
if(IsPostBack)
{
//返回
return;
}
//取值
string str = Request["Item"];
//是空引用或空字符串
if(str == null || str.Length == 0)
{
//赋默认值
TextBox1.Text = "aa";
}
else
{
TextBox1.Text = str;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
//这里只需要除去前后空格就好,不用ToString()
string url = "Default3.aspx?Item=" + TextBox1.Text.Trim().ToUpper();
Response.Redirect(url);
}
}
ysb 2006-10-23
  • 打赏
  • 举报
回复
怎么没有人回答了?
ysb 2006-10-21
  • 打赏
  • 举报
回复
不行的,兄弟们!
我测试过,不管有没有IsPostBack ,都得不到TextBox1.Text的值。
不信你们可以自己试试看!
carpeople 2006-10-20
  • 打赏
  • 举报
回复
看来已经解决了。
股神 2006-10-20
  • 打赏
  • 举报
回复
汗个!!
jydqwe 2006-10-20
  • 打赏
  • 举报
回复
..汗呐
bitpolar 2006-10-20
  • 打赏
  • 举报
回复
赫赫
andybogard 2006-10-20
  • 打赏
  • 举报
回复
UP
woanon 2006-10-20
  • 打赏
  • 举报
回复
if(this.IsPostBack)

呵呵
ustbwuyi 2006-10-20
  • 打赏
  • 举报
回复
我汗..楼上正解..
luqinghua 2006-10-20
  • 打赏
  • 举报
回复
protected void Page_Load(object sender, EventArgs e)
{
if(this.IsPostBack)
{
string aa = "";
try
{
aa = Request.QueryString["Item"];
}
catch (Exception)
{
}
TextBox1.Text = aa;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
string url;
string strItem = TextBox1.Text.ToString().ToUpper();
url = "Default.aspx?Item=" + strItem;
Response.Redirect(url);
}

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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