你需要加一个判断:
If(e.Item.ItemType = ListItemType.EditItem)
'代码放这里
End IF
If(e.Item.ItemType = ListItemType.EditItem)
'代码放这里
End IF
解决方案 »
- 急.初学者下载了一个C#网站,但报错.请教大家.
- 请问如何获取用户的IP地址,并根据用户的IP地址查询用户的大概真实地址
- js一个模式对话框弹另一个模式对话框弹报不支持showModalDialog?
- 怎么用javascript在asp中对页面进行排序
- Reporting services中可否做到类似于水晶报表中的先行后列的功能?(兄弟们说具体点啊!)
- 求助?
- 怎么把URL重写配置在单独的XML文件中?
- 输出指定节点的值(xml)
- ASP.NET 还算不算脚本语言了?
- 开了一个vs中C#项目中的asp应用程序出现的问题
- 如何在一个DATAGRID的按钮列上全部按钮都加一个ONCLICK客户端事件,执行一段JS代码?
- 很奇怪的问题!在线等待
<asp:TextBox id="TextBox2" runat="server" onclick="return OnChange(this)" Text='<%# DataBinder.Eval(Container.DataItem,"交货日期")%>'>
我原来是这样的,和楼上的应该是等价的
Select Case e.Item.ItemType
case ListItemType.EditItem
dim tempTxtbox as textbox
temptxtbox=e.item.findcontrol("TextBox2")
temptxtbox.Attributes.Add("onclick", "return OnChange(this);")
End Select我现在的问题是,我不知道这段代码应该写在DataGrid的那个事件里。
<EditItemTemplate>
<asp:TextBox id="TextBox2" runat="server"
onclick="return OnChange(this)" Text='<%# DataBinder.Eval (Container.DataItem,"交货日期")%>'>
</asp:TextBox>
</EditItemTemplate>
出错,大概因为编辑模板列中textbox控件没有onclick事件。
方法一:在ItemCreated或者ItemDataBound中,具体代码就不在多写了
方法二:遍历DataGrid的所有Item(注意,不是遍历DataGrid1.Items下的Item)
foreach (DataGridItem item in DataGrid1.Controls[0].Controls)
{
if (item.ItemType == ListItemType.Header)
{
//用item.FindControl查找相应的控件
}
}
这个好像不行
If e.Item.ItemType = ListItemType.EditItem Then
CType(e.Item.Cells(3).Controls(0), TextBox).Attributes.Add("onkeypress", "if (event.keyCode<48 || event.keyCode>57) event.keyCode=0;")
CType(e.Item.Cells(3).Controls(0), TextBox).Attributes.Add("onkeyup", "gettotal()")
End If
我现在的问题是,我不知道
Select Case e.Item.ItemType
case ListItemType.EditItem
dim tempTxtbox as textbox
temptxtbox=e.item.findcontrol("TextBox2")
temptxtbox.Attributes.Add("onclick", "return OnChange(this);")
End Select这段代码应该写在DataGrid的哪个事件里