TextBox无法更新的问题! 小弟刚写了一个Web小网页,情况如下里面用到了TextBox跟 CSDN这个提问的框框一样,当点击按钮时获取TextBox里面的文本,但是小弟无法获取更新的文本,请问这是怎么一回事?点击按钮时我已经调用了 TextBox.Text.ToString(); 或者我改变原来文本里面的字符,点击按钮后,还是原来的文本,根本不是更改后的文本,请问这是什么原因? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 TextBox.Text就是获取文本框的文本,它本来就String类型,所以后面的ToString()就没有必要了,但是加上不是导致你无法获取的原因。 把你的代码放在if(!(Page.IsPostBack)){}里试试。 如果没有: runat="server",当运行到 TextBox.Text.ToString(); 时程序会运行出错,所以应该不是: 这句少的原因把你的后台代码贴出来看看 整个过程是这样的!这个页面是一个显示新闻的页面,首先读取数据库的值,然后显示在TextBox中,然后如何我想改变这个新闻的值的话,我就直接在TextBox中改写,再点击修改按钮执行修改命令,但是我发现当开始给这个TextBox赋值后,后来无论我怎么改,收到的都是原始值,不是我改过的值if(reader.Read()) { news_title.Text = reader.GetString(0); //获取标题(在这里我把值赋到了那个TextBox中了) news_text.Text = reader.GetString(1); //获取内容 time.Text =reader.GetString(3); //发布时间 reader.Close(); news_text.Dispose(); command.Dispose(); return; }public void Update_News() { OleDbCommand command = new OleDbCommand(); command.Connection = Data_Connection; string m_title = news_title.Text.ToString(); //获取用户修改的新闻值, 发现根本不起作用,还是原始我导入的值我想是不是有可能 如果你开始给TextBox.Text赋了值,那他在以后都会保持这个值不变? 把你的代码放在if(!(Page.IsPostBack)){}里试试 放在里面也不起作用因为我在一个按钮事件里面响应了相关的操作方法!当用户点击该控件时,就获取TextBox的值! 在Pageload里把你“首先读取数据库的值,然后显示在TextBox中”这个操作放到if(!(Page.IsPostBack))里边,因为你点击按钮后页面提交又重新对TextBox赋值,所以更改后的数据获取不到。 楼主遇到的问题可能跟我以前遇到的问题类似我是把微软的textbox反编译出来,把 IPostBackDataHandler 这个接口给去掉了,并且把 bool IPostBackDataHandler.LoadPostData(string postDataKey, NameValueCollection postCollection){ string text1 = this.Text; string text2 = postCollection[postDataKey]; if (!text1.Equals(text2)) { this.Text = text2; return true; } return false;} void IPostBackDataHandler.RaisePostDataChangedEvent(){ this.OnTextChanged(EventArgs.Empty);}两个方法去掉。你 可以继承一下textbox 然后new 一下这两个方法看看。 急求问题,绘图 求一个用C#做过usbkey 开发的高手~~ winform 中音频文件的播放不了...求大家都来给指教!!!! Regex 的使用问题 ,高手请进,速度结帖!~~ 关于.NET的高级特性 大量数据从数据库读出并保存为文件的效率问题? 用户控件问题,我实在解决不了了,高手闷帮帮忙吧!!! string对象比较问题求解 在.net2003自动生成的数据窗体问题? 正式版本的C#在Beta2版本上做了哪些改进? 关于Windows服务的问题 怎样在c#中实现获取另一个应用程序的内容,比如:用个c#的程序去读取一个已经打开的程序界面中textbox里的内容!
if(!(Page.IsPostBack))
{
}
里试试。
程序会运行出错,所以应该不是: 这句少的原因
把你的后台代码贴出来看看
{
news_title.Text = reader.GetString(0); //获取标题
(在这里我把值赋到了那个TextBox中了) news_text.Text = reader.GetString(1); //获取内容
time.Text =reader.GetString(3); //发布时间
reader.Close();
news_text.Dispose();
command.Dispose();
return;
}
public void Update_News()
{
OleDbCommand command = new OleDbCommand(); command.Connection = Data_Connection;
string m_title = news_title.Text.ToString(); //获取用户修改的新闻值, 发现根本不起作用,还是原始我导入的值我想是不是有可能 如果你开始给TextBox.Text赋了值,那他在以后都会保持这个值不变?
if(!(Page.IsPostBack))
{
}
里试试
因为我在一个按钮事件里面响应了相关的操作方法!当用户点击该控件时,就获取TextBox的值!
里边,因为你点击按钮后页面提交又重新对TextBox赋值,所以更改后的数据获取不到。
{
string text1 = this.Text;
string text2 = postCollection[postDataKey];
if (!text1.Equals(text2))
{
this.Text = text2;
return true;
}
return false;
}
void IPostBackDataHandler.RaisePostDataChangedEvent()
{
this.OnTextChanged(EventArgs.Empty);
}两个方法去掉。
你 可以继承一下textbox 然后new 一下这两个方法看看。