TextBox.TextChanged事件不会立刻发生的,就算不是放在datagird里也是这样,
他仍然需要按submit等按钮提交到服务器端才会得到处理,我觉得你这个想法不太可能实现你可以使用EditCommandColumn的更新来提交更新
他仍然需要按submit等按钮提交到服务器端才会得到处理,我觉得你这个想法不太可能实现你可以使用EditCommandColumn的更新来提交更新
解决方案 »
- 后台调用前台JS
- 网站如何实现一个按扭切换中英文?
- 有一个doc文件通过浏览器下载,怎么实现啊,点击下载不让在浏览器直接打开,而是出现下载对话框,请教了
- csdn分是怎么得的?我明明得了50分,怎么只有10分?
- (300分)有关buildprovider的问题
- 客户端控件加上<runat=server>有什么用??
- 页面调用服务器的exe,出现拒绝访问!
- Application_Error不工作
- 使用delphi的twebbrowser上传数据,但在aspx页面为乱码,熟悉delphi和asp.net的请进
- dim objconn as ADOconnection 提示出错
- 水晶报表在.net里的应用???
- B/S模式中如何获取客户机名称?
模板列中的TextBox控件应该也如此
看来.net还是很多缺陷啊
的确,
但是如何捕捉这个TextChanged事件?因为我知道模板列中的textbox控件需要你去find,这时候,那么这个被找到的控件TextChanged事件该如何写呢?该如何定义?各位给个提示啊~~~
zsww() :谢谢~~~
我用
Dim _textbox As New System.Web.UI.WebControls.TextBox
_textbox = CType(e.Item.FindControl("TextBox1"), System.Web.UI.WebControls.TextBox)
AddHandler _textbox.TextChanged, AddressOf TextBoxChanged
事件就是无法激活,按理论上应该是当我更改了文本筐内值后,
随便点击网页的一处,事件就应该被激发。
而
Dim _SButton As New System.Web.UI.WebControls.Button
_SButton = CType(e.Item.FindControl("SButton"), System.Web.UI.WebControls.Button)
AddHandler _SButton.Click, AddressOf TextBoxChanged
点击按钮事件立即响应。
按钮和文本筐在通一列以上代码位于DataGrid1_ItemCreated事件过程定义如下
Protected Sub TextBoxChanged(ByVal sender As Object, ByVal e As System.EventArgs)
注页面代码:
<asp:TextBox ID="TextBox1" Runat=server
Width="60" Height="20" AutoPostBack=True ></asp:TextBox>我不知道问题在何处~~~,我想是不是因为事件的响应前,文本筐内的值就已经被
填充了?各位有何高见啊~~~请不吝赐教,谢谢了!!!
<asp:TextBox ID="TextBox1" Runat=server OnTextChanged="TextBoxChanged"
Width="60" Height="20" AutoPostBack=True ></asp:TextBox>
在MyDataGrid_ItemCreated中
TextBox t1 = (TextBox) e.item.FindControl("Text1");
调试发现t1为空值,即没有找到这个Textbox控件,怎么回事?
可否看一下你的源程序?
[email protected]
问题是如何注册事件
首先,设计时是不行的,只有在运行的时候
由于TextBox是在datagrid的模板列中,所以应该不能在pageLoad的时候
楼主是在ItemCreated事件中,我觉得是对的
然后就是要找到这个TextBox控件,然后才能给它注册
我试验了一下
在MyDataGrid_ItemCreated中
TextBox t1 = (TextBox) e.item.FindControl("Text1");
调试发现t1为空值,即没有找到这个Textbox控件
然后就进行不下去了
Width="60" Height="20" AutoPostBack=True ></asp:TextBox>
然后,在.CS或.VB文件中定义TextBoxChanged 事件,事件的域必须是public or protected
(不敢肯定是因为我没有再作更彻底的测试,等有时间再作)问题原因:
是因为此控件的上一级控件每次加载时,不论首次加载还是回调控件,
它都会从数据库读取初始化数据,
这导致了它的子控件内数据重新绑定,
这个DataGrid完全象新的一样,这可能是原因。最终我选择了用DataGrid编辑按钮完成,数据更新。
这样的话,只有当用数据点击更新按钮后,数据才可以更新。因为我考虑到,即便是我用的TextBoxChanged响应了,那么我如何得到此行的控件实例呢?
参数中的e, 我想虽然它不是DataGrid事件参数,
但是应该可以通过它得到确切控件的实例。
但是我并不清楚这如何实现。所以我选择了其他方法解决。
目前敢肯定是这根注册事件没有关系。
我想主要原因还是在回送的DataGrid状态保存上。出现这些问题,技术上的原因是:
我并不了解asp.net控件的事件模型。我感觉这方面的资料真的很少!!!如果可能我希望saucer(思归)能为我们提供这些资料。我现在软件架构是经过过去和各位的讨论得到的,
有时真怕我用的架构跟控件事件模型冲突。