为什么在.cs文件中给textbox赋值不起作用

问题描述

做了一个聊天室的作业,想再提交后经输入框清空,但是直接赋值好像吧不行,网上搜的js方法也不管用,断点调试发现TextBox1的Text属性没有变,不知道什么情况,难道和ajax有关,新手求指教protectedvoidButton1_Click(objectsender,EventArgse){Application["chat"]=Application["chat"]+"【"+name+"】:"+TextBox1.Text+"n";TextBox1.Text=string.Empty;//想用这句来清空,但是赋什么值都没用TextBox2.Text=Application["chat"].ToString();}

页面结构<%@PageTitle=""Language="C#"MasterPageFile="~/MasterPage.master"AutoEventWireup="true"CodeFile="ChatRoom.aspx.cs"Inherits="ChatRoom"%><asp:ContentID="Content1"ContentPlaceHolderID="head"Runat="Server"><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title></title><styletype="text/css">#form1{text-align:center;}</style></asp:Content><asp:ContentID="Content2"ContentPlaceHolderID="ContentPlaceHolder1"Runat="Server"><!DOCTYPEhtml><htmlxmlns="http://www.w3.org/1999/xhtml"><bodystyle="height:126px;width:540px"><divstyle="text-align:center"><asp:ScriptManagerID="ScriptManager1"runat="server"></asp:ScriptManager><asp:LabelID="Label1"runat="server"Font-Names="幼圆"style="font-size:xx-large"></asp:Label><br/><asp:LabelID="Label3"runat="server"></asp:Label><br/><asp:UpdatePanelID="UpdatePanel1"runat="server"><ContentTemplate><asp:PanelID="Panel1"runat="server"style="word-break:break-all"><asp:TextBoxID="TextBox2"runat="server"Height="512px"Width="442px"Font-Names="微软雅黑"BorderColor="#FF9933"BorderStyle="Solid"Text=""style="text-align:left"Enable="False"Multiline="True"Scrollbars="2-Vertical"Enabled="False"ReadOnly="True"TextMode="MultiLine"></asp:TextBox></asp:Panel><asp:TimerID="Timer1"runat="server"Interval="1000"OnTick="Timer1_Tick"></asp:Timer></ContentTemplate><Triggers><asp:AsyncPostBackTriggerControlID="Button1"/></Triggers></asp:UpdatePanel><asp:TextBoxID="TextBox1"runat="server"Height="20px"Width="317px"></asp:TextBox><asp:ButtonID="Button1"runat="server"Text="发送"Height="28px"Width="119px"OnClick="Button1_Click"/></div></body></html></asp:Content>

解决方案

解决方案二:
TextBox1中原来有值没?有没有禁用viewstate
解决方案三:
ReadOnly="True"这个属性吧
解决方案四:
用js应该可以的,你查看下网页,因为使用了模版页,生成出来的textbox名称跟ID已经变化了
解决方案五:
该回复于2014-12-06 19:46:04被版主删除
解决方案六:
TextBox1.Text="";这样呢?
解决方案七:
你的TextBox1不在UpdatePanel1里边,怎么更新前端界面?
解决方案八:
我以前写过一个demo,参考:注意设置属性UpdateMode="Conditional"
解决方案九:
UpdatePanel局部刷新
解决方案十:
引用6楼sp1234的回复:

你的TextBox1不在UpdatePanel1里边,怎么更新前端界面?

确实放到Updatepanel里可以清除,但是这个时候有个问题是因为timer的导致UpdatePanel定时刷新,每次刷新textbox里的光标就会消失,timer的值设成1000ms的话,那几乎连字都打不了了
解决方案十一:
引用3楼gongjie416的回复:

用js应该可以的,你查看下网页,因为使用了模版页,生成出来的textbox名称跟ID已经变化了

id没问题,js试过不管用,现在看来因为ajax控件阻止了整个页面刷新,但是textbox放到ajax控件里就没法打字了,不知道有什么解决办法没有?可以一个页面使用两套ajax控件吗?
解决方案十二:
引用10楼vvcgp的回复:

Quote: 引用3楼gongjie416的回复:
用js应该可以的,你查看下网页,因为使用了模版页,生成出来的textbox名称跟ID已经变化了

id没问题,js试过不管用,现在看来因为ajax控件阻止了整个页面刷新,但是textbox放到ajax控件里就没法打字了,不知道有什么解决办法没有?可以一个页面使用两套ajax控件吗?

实测不行Orz,放了两个UpdatePanel但是前一个的timer执行刷新时两个一起刷新。。。怎么办啊[
解决方案十三:
微软一个伪造的“服务端事件”,坑杀不少程序员
解决方案十四:
在aspx.cs中调用数据库数据为textbox文本框赋值示例//文本框设置<asp:TextBoxID="txtEmail"runat="server"Width="130px"></asp:TextBox><asp:TextBoxID="txtHphone"runat="server"Width="130px"></asp:TextBox><asp:TextBoxID="txtMphone"runat="server"Width="130px"></asp:TextBox><asp:TextBoxID="TextBox1"runat="server"BackColor="#E0E0E0"ReadOnly="True"Width="117px"></asp:TextBox><asp:TextBoxID="txtIP"runat="server"BackColor="#E0E0E0"ReadOnly="True"Width="117px"></asp:TextBox>//调用数据库数据为文本框赋值protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){SqlConnectionmycon=newSqlConnection(ConfigurationManager.AppSettings["conStr"]);SqlDataAdaptermydataadapter=newSqlDataAdapter("select*fromtb_BlogwhereBlogID="+Request["id"],mycon);DataSetds=newDataSet();mydataadapter.Fill(ds,"tb_Blog");DataRowViewrowview=ds.Tables["tb_Blog"].DefaultView[0];this.txtEmail.Text=Convert.ToString(rowview["Email"]);this.txtHphone.Text=Convert.ToString(rowview["HomePhone"]);this.txtMphone.Text=Convert.ToString(rowview["MobilePhone"]);this.TextBox1.Text=Convert.ToString(rowview["RegTime"]);this.txtIP.Text=Convert.ToString(rowview["IP"]);mycon.Close();}}
解决方案十五:

解决方案:

解决方案:
引用11楼vvcgp的回复:

Quote: 引用10楼vvcgp的回复:
Quote: 引用3楼gongjie416的回复:
用js应该可以的,你查看下网页,因为使用了模版页,生成出来的textbox名称跟ID已经变化了

id没问题,js试过不管用,现在看来因为ajax控件阻止了整个页面刷新,但是textbox放到ajax控件里就没法打字了,不知道有什么解决办法没有?可以一个页面使用两套ajax控件吗?

实测不行Orz,放了两个UpdatePanel但是前一个的timer执行刷新时两个一起刷新。。。怎么办啊[

用两个updatepanel,把TextBox1放到第二个updatepanel中,把第二个UpdatePanel的UpdateMode属性设置为Conditional,参照这篇文章

时间: 2024-08-01 08:15:08

为什么在.cs文件中给textbox赋值不起作用的相关文章

ASP.NET 中aspx文件的TextBox在aspx.cs文件中无法被引用,提示未将对象引用设置到对象的实例。

问题描述 ASP.NET中aspx文件的TextBox在aspx.cs文件中无法被引用,提示未将对象引用设置到对象的实例.vs2012 解决方案 解决方案二:既然可以执行,说明变量有定义.你自己定义了变量?解决方案三:在vs工具上,你的代码,点击鼠标右键,你可以看到许多调试开发工具功能,例如各种"重构",还有"查看定义"."查找所有引用"等等.要想找到一个变量的定义是不是有歧义,你得直接借助这些工具找到其定义的地方.如果不会使用vs开发工具,那么

Visual Studio类库项目在*.cs文件中使用Form1中的控件值(C#)

问题描述 在VisualStudio中创建类库项目(C#),添加一个窗体(Form1),如何在*.cs文件中使用Form1textbox中输入的数值?如图: 解决方案 解决方案二:你这个Form1里面放的两个控件,都是ComboBox......要Form1textbox的值,可以先拖个textbox控件到窗体,然后CS文件中stringstr=this.textbox.Text;取值解决方案三:谢谢,如果要是将控件里面写的内容在word中显示代码该添加什么呢?

怎么在cs文件中调用DropDownList获取值

问题描述 aspx文件:<asp:DropDownListID="DropDownList1"runat="server"AutoPostBack="True"OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"><asp:ListItemValue="不限">不限</asp:ListItem><as

动软批量生成,如何所有在所有的.cs文件中加bll

问题描述 动软批量生成,如何所有在所有的.cs文件中加bll 动软批量生成BLL ,如何所有在所有的.cs文件中加bll,,比如把User.cs 修改成UserBLL.cs 解决方案 解决方案二: 动软批量生成,如何所有在所有的.cs文件名中加"bll"

为什么要在cs文件中调用js函数

问题描述 我有个问题想问下大家,为什么有的时候要在cs文件中调用js函数,还有有时候要在js里面调用cs函数,一直比较迷惑,不是太清楚,能举个例子详细的介绍下吗谢谢了 解决方案 解决方案二:js调用cs的函数是ajax,cs调用js的函数,有时是为了实现某个特定的效果,才会这么做解决方案三:谢谢你的回答,不过能说得再详细点吗,我刚开始学习,好多地方不明白谢谢解决方案四:当然是实现需求了.服务端输出JS最典型的是response.write("<script>alert('notice

vs2008中怎样将一个类分写在多个 .cs 文件中?

问题描述 最近在用vs2008,如果一个类太长,想把它分开写在多个文件中,比如,有一个函数很长,想单独放在一个文件中,所有的属性也想单独放在一个文件中,怎样操作呢? 解决方案 解决方案二:partialclassXXX解决方案三:添加一个windows窗体,form1.cs和form1.designer.cs就是很好的例子,照着做就行解决方案四:添加多个类就可以了把类定义为public的,把类和属性也定义为public的如果是全局的变量用static定义,///<summary>///第一个属

c#-C#中,如何在别的cs文件中控制当前运行的窗体?

问题描述 C#中,如何在别的cs文件中控制当前运行的窗体? 事件是在cs文件之中触发,然后要将运行的结果传到当前运行的窗体中.试了好多方法也没成功...如果能贴一段demo就太感谢了! 解决方案 http://bbs.csdn.net/topics/360140208

C#中,如何在别的cs文件中控制当前运行的窗体?

问题描述 事件是在cs文件之中触发,然后要将运行的结果传到当前运行的窗体中.如果我用事件的话,实例化的又是new的对象,试了好多方法也没成功...如果能贴一段demo就太感谢了! 解决方案 解决方案二:定义一个静态的事件呢?使用委托肯定可以的,你代码应该有问题的解决方案三:引用1楼qq_17486399的回复: 定义一个静态的事件呢?使用委托肯定可以的,你代码应该有问题的 委托的话如果我在窗体load的时候给事件绑定方法到cs文件方法中触发的时候事件绑定的方法已经为null若要在方法中调用,则需

如何统计CS文件中公有类,私有类,受保护类的个数?

问题描述 1.如何统计CS文件中公有类,私有类,受保护类的个数?并同时统计出每个类的代码行数?2.publicclassA{publicclassB{}}这种情况只对A计数一次 解决方案 解决方案二:统计的前提是代码可以正确编译先用CSharpCodeProvider编译成Assembly然后反射出你要统计的类解决方案三:没有人知道吗??