请问各位我为什么得不到TextBox的值
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Interaction_chat : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
chatName.Focus();
chatName.Text = Session[ "chat_name "].ToString();
}
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
string test = chatName.Text.Trim();
if (test != " ")
{
Session[ "chat_name "] = chatName.Text.Trim();
Response.Redirect( "chat_frame.aspx ");
return;
}
}
}
------解决方案--------------------IsMyJava () 你的程序我已经运行过,可以得到值,如果还是有问题,请再多帖些代码
------解决方案--------------------我也碰到国类似的问题,我是这样子解决的!
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Interaction_chat : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) /*********加上这句试试*********/
{
chatName.Focus();
chatName.Text = Session[ "chat_name "].ToString();
}
}
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
string test = chatName.Text.Trim();
if (test != " ")
{
Session[ "chat_name "] = chatName.Text.Trim();
Response.Redirect( "chat_frame.aspx ");
return;
}
}
}
------解决方案--------------------逻辑错误.
1. 如果session为空,会把TextBox置为空.
2. 如果TextBox为空则Session为空
解决方案
在pageLoad里面加上ispostBack判断.
------解决方案--------------------问题分析:
PageLoad 方法是每次页面回传时都要调用的方法,并且是先于其它任何控件事件方法被调用的,所以,不管怎么在 TextBox 框里输入内容,到了服务器端,你的 TextBox 里的值都被
chatName.Text = Session[ "chat_name "].ToString();
这句操作给覆盖了,你可以调试时试下,在这句话之前看看,你的 TextBox 里的值是不是你在客户端输入的值。
问题解决:
bakers 的方法不错,这种问题一般是用 Page.IsPostBack 来解决的,不过你应