为什么提交表单值为0呢

飞一龙 2010-02-07 03:42:16
int id;
protected void Page_Load(object sender, EventArgs e)
{
id =Convert.ToInt32(Request.Form["TextBox1"]);
Response.Write(id.ToString()+"---adfsdssf<br>");
}

protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
Response.Write(id);///这里为什么会0,不是早一面的Request.Form["TextBox1"]值呢
}
...全文
219 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
antoniusguo 2010-02-08
  • 打赏
  • 举报
回复
楼主有没有设置断点查看哪个方法先被执行?中间是否还有其他方法(在未知的情况下修改了id)

顺序不对的话,肯定是0了
Keep-Learning 2010-02-08
  • 打赏
  • 举报
回复
id不是静态全局变量,每次页面刷新,都要初始化,默认是0
Keep-Learning 2010-02-08
  • 打赏
  • 举报
回复
public static int id;
xuyi0822 2010-02-08
  • 打赏
  • 举报
回复
因为我自己试了
飞一龙 2010-02-07
  • 打赏
  • 举报
回复
上面自己试试吧
xuyi0822 2010-02-07
  • 打赏
  • 举报
回复
不可能是0值
如果你的TextBox1是从别的页面来的,那肯定是Request.Form["TextBox1"]没有值
查查这里吧Request.Form["TextBox1"]
页面第一次加载是0值,这个大家都知道
antoniusguo 2010-02-07
  • 打赏
  • 举报
回复
我想可能是先执行了按钮事件再执行了Load事件
飞一龙 2010-02-07
  • 打赏
  • 举报
回复
没有任何js
antoniusguo 2010-02-07
  • 打赏
  • 举报
回复
LZ是不是在页面上用JS修改过控件的值
飞一龙 2010-02-07
  • 打赏
  • 举报
回复
int id;
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
id =Convert.ToInt32(Request.Form["TextBox1"]); 如果这里设是固定值2的话就可以,就不会0
Response.Write(id.ToString()+"---<br>");

}

protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
Response.Write(id);///这里为什么会0,不是早一面的Request.Form["TextBox1"]值呢
}
antoniusguo 2010-02-07
  • 打赏
  • 举报
回复
LZ是不是在页面上用JS修改过这个值?
飞一龙 2010-02-07
  • 打赏
  • 举报
回复
int id;
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
id =Convert.ToInt32(Request.Form["TextBox1"]); 如果这里设是固定值2的话就可以,就不会0
Response.Write(id.ToString()+"---<br>");

}

protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
Response.Write(id);///这里为什么会0,不是早一面的Request.Form["TextBox1"]值呢
}
half_bucket 2010-02-07
  • 打赏
  • 举报
回复
控件的生命周期问题,因为控件还没有Render over,所以你获取的控件ID是0.
飞一龙 2010-02-07
  • 打赏
  • 举报
回复
为什么啊
chen_ya_ping 2010-02-07
  • 打赏
  • 举报
回复
要是不是0的话那才叫奇怪呢?
飞一龙 2010-02-07
  • 打赏
  • 举报
回复
public string id
{
get{return ViewState["id"].ToString();}
set{ViewState["id"]=value;}
}
这个方法可以,可是我正式页面很多变量的,还有其它办法嘛
Skyhoo 2010-02-07
  • 打赏
  • 举报
回复
if(!Page.IsPostBack)
wuyq11 2010-02-07
  • 打赏
  • 举报
回复
public string id
{
get{return ViewState["id"].ToString();}
set{ViewState["id"]=value;}
}
飞一龙 2010-02-07
  • 打赏
  • 举报
回复
id =Convert.ToInt32(Request.Form["TextBox1"]); 这里是正确的


在提交按钮时,就为0了
wuyq11 2010-02-07
  • 打赏
  • 举报
回复
页面回传
id =Convert.ToInt32(Request.Form["TextBox1"]);
跟踪看看TextBox1值
加载更多回复(4)

62,265

社区成员

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

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

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

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