((TextBox)e.Item.FindControl("txtReverts")).Text; 不要发这个了,这个似乎没办法获取EditItemTemplate中控件的值。。是否还有办法呀。。每次都提示错误高手指点一下
解决方案 »
- 易想多用户商城仿淘宝网版会有什么问题吗?
- 异常详细信息: System.Data.SqlClient.SqlException: 列名 'ISDN' 无效。菜鸟请求赐教???
- ajax 实现无刷新技术
- 新浪网的论坛真差,发个帖子,再也找不到,什么鸡巴玩意儿
- 后台管理问题
- 如何在Web页面上直接打开、编辑、保存Office文档???
- 关于TextBox的TextChanged事件
- Web Developer 2008 开发的程序能不能执行.net2.0空间
- 请问怎么在datatable中定义主键?
- datagrid分页
- 怎么过滤关键字,JS版的更好
- asp.net简单数据库连接语句问题,求高手们给小弟我教详细解释下这下问题
{
TextBox txtReverts= e.Item.FindControl( "txtReverts") as TextBox;
}
bind();
((TextBox)e.Item.FindControl(""))
还是不行哦。我还是说下我的问题吧。我留言的内容是显示在itemTemplate,点击编辑的时候,就到EditItemTemplate,这个地方是回复留言的,这里就有个文本框TextBox txtReverts。。我现在就想要获取这个文本框的内容。。要是写在ItemDataBound事件中,岂不是还没加载EditItemTemplate???
if(e.Item.ItemType == ListItemType.Edit) 没有ListItemType.Edit呀。。只有ListItemType.EditItem
若是Button,则设置CommandName属性为"UpDate",如下:
<EditItemTemplate>
<asp:TextBox ID="txtReverts" runat="server" Text="abcd" ></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" CommandName="Update"/>
</EditItemTemplate>若是这样的标准设置,则可以在两个事件中获得!
1.ItemCommand事件中,如下:
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName == "Update")
{
string s = ((TextBox)e.Item.FindControl("txtReverts")).Text;
Response.Write(s);
}
}2.或者在UpdateCommand事件中获得:
protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e)
{
string s = ((TextBox)e.Item.FindControl("txtReverts")).Text;
Response.Write(s);
}
泪奔啊,你既然都提到UpdateCommand,我也就说一下,我不知我是不是撞鬼了我UpdateCommand没办法触发CancelCommand也一样,不过DeleteCommand和EditCommand就可以触发,DeleteCommand和EditCommand是在ItEm模板的,UpdateCommand没办法触发CancelCommand是在Edit模板的不知为何,老是没办法触发前两个事件
可定能触发!
对了,我在源设计那里放了EnableEventValidation ="false",不放这个的话,提示:回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。 我无语了,帮帮忙我多加分
就是不能触发嘛。我说才撞鬼了。所以为了能发表回复留言,我才在Edit模板中的按钮双击写代码,我需要这个文本框的内容写入到数据库中
也可以取到的!
对啊,我要死翘翘了。加跟没加那句,DeleteCommand和EditCommand依然可以触发,那两个还是不行。。崩溃ing
不能,提示的是:未将对象引用设置到对象的实例。 你移步看一下这个贴,这位同学跟我一样的问题,不过他好像领悟到了什么,你可不可以帮我看看,拜托拜托 http://topic.csdn.net/u/20071107/11/d5670a8f-16d5-4a9e-8075-c9d42515e911.html
如果触发了,就判断点了什么按钮就可以了!!
死了死了,我点了“回复”(ITem模板的)触发了,
if (e.CommandName == "Update")
{
Session["ID"] = DataListMessages.DataKeys[e.Item.ItemIndex].ToString();
Session["txtReverts"] = ((TextBox)e.Item.FindControl("txtReverts")).Text;
}
没执行,跳过了。IF判断不符合
进到Edit模板,点了(提交CommandName设了Update,就是回复留言)没触发ItemCommand
if (e.CommandName == "Edit")
{
DataList1.EditItemIndex = e.Item.ItemIndex;
//绑定数据!!
}
protected void DataListMessages_EditCommand(object source, DataListCommandEventArgs e)
{
DataListMessages.EditItemIndex = e.Item.ItemIndex;
DataListMessages.DataBind();
}
if(!IsPostBack)
//绑定数据
。你还在吗?你最后一句啊,真是~~我绑定数据写到了if(!IsPostBack)外面了,怪不得UpdateCommand老是激发不了现在可以激发了