test.aspx:
<asp:datagrid id="dg" runat="server">
<Columns>
<asp:BoundColumn DataField="name" HeaderText="姓名"></asp:BoundColumn>
<asp:ButtonColumn id="idDel" Text="删除" CommandName="Delete"></asp:ButtonColumn>
</Columns>
</asp:datagrid>test.aspx.vb:
Private Sub dg_ItemCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dg.ItemCreated
Select Case e.Item.ItemType
Case ListItemType.Item,ListItemType.AlternatingItem,ListItemType.EditItem, ListItemType.SelectedItem
Dim myDeleteButton As LinkButton
myDeleteButton = CType(e.Item.Cells(e.Item.Cells.Count - 1).Controls(0), LinkButton)
If Not myDeleteButton Is Nothing Then
myDeleteButton.Attributes.Add("onclick", "return confirm('您真的要删除第 " + (e.Item.ItemIndex + 1).ToString + " 行吗?');")
End If
End Select
End Sub
问题是,当我在程序中把idDel的enabled设置False后,鼠标点上去还会弹出确认框,请问如何让它在enabled为False不再弹出来啊?
<asp:datagrid id="dg" runat="server">
<Columns>
<asp:BoundColumn DataField="name" HeaderText="姓名"></asp:BoundColumn>
<asp:ButtonColumn id="idDel" Text="删除" CommandName="Delete"></asp:ButtonColumn>
</Columns>
</asp:datagrid>test.aspx.vb:
Private Sub dg_ItemCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dg.ItemCreated
Select Case e.Item.ItemType
Case ListItemType.Item,ListItemType.AlternatingItem,ListItemType.EditItem, ListItemType.SelectedItem
Dim myDeleteButton As LinkButton
myDeleteButton = CType(e.Item.Cells(e.Item.Cells.Count - 1).Controls(0), LinkButton)
If Not myDeleteButton Is Nothing Then
myDeleteButton.Attributes.Add("onclick", "return confirm('您真的要删除第 " + (e.Item.ItemIndex + 1).ToString + " 行吗?');")
End If
End Select
End Sub
问题是,当我在程序中把idDel的enabled设置False后,鼠标点上去还会弹出确认框,请问如何让它在enabled为False不再弹出来啊?
解决方案 »
- EF 连接oracle 遇到的问题
- 导出excel到服务器的某个文件夹中
- js中定义的问题
- 新手提问,请各位帮帮忙
- asp.net
- 急急急,毕业设计挂了!求大家帮忙!在线等!
- 子查询作为外部查询的字段时,可以返回多行结果吗?
- 如何将asp.net网站配置到 iis服务中啊,我每次都是使用vs2005中直接浏览,怎么配置到iis服务中呢,谁能详细说明一下
- 请大侠为我注释下这段代码:
- global.asax与global.asax.cs
- windows 2000 profeessional 版本可以安装SQL SERVER 2005吗?
- ASP.NET 点gridview的某行,弹出此行的详细资料.怎样操作?(10W火急)
----------------------------------------
正常情況不會有此問題,可能是你將idDel的enabled设置為False的代碼並未執行,LZ應該檢查下。
那么能否將idDel屬性為false時,瀏覽器中相關idDel的html貼出來?
因為我的vs2005是直接將設置disabled,所以不會彈出確認框。如下: <a onclick="return confirm('刪除嗎?');" id="LinkButton1" disabled="disabled" style="z-index: 103; left: 237px;
position: absolute; top: 41px">LinkButton</a>
<a onclick="return confirm('您真的删除吗?');" id="Mydatalist_ctl01_zxDel" disabled="disabled">删除</a>
一般情况下是不会发生你说的情况
把你如何把idDel的enabled设置False 的代码出来
<asp:LinkButton id="zxDel" runat="server" Enabled=<%#CBool(ViewState("bImpRole"))%> Text="删除" CommandName="Delete" />程序中在Page_Load中判断用户属性,并根据属性设置ViewState("bImpRole")的值为“True”或“False”
{
if (e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
{
((System.Web.UI.WebControls.LinkButton)e.Item.Cells[7].Controls[0]).Attributes.Add("onclick","return confirm('你确认要删除吗?');");
}
}
如果不可用则直接返回false;
可以参考下以下代码
Protected Sub data_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles data.ItemCommand
if(控件可用)
myDeleteButton.Attributes.Add("onclick", "return confirm('您真的要删除第 " + (e.Item.ItemIndex + 1).ToString + " 行吗?');")
else
myDeleteButton.Attributes.Add("onclick", "return false") ;
End Sub
to yuan74521940,放在ItemDataBound中也是一样的。我用的是dataList。
你可以在html测试一下代码
<a onclick="return confirm('您真的删除吗?');" id="Mydatalist_ctl01_zxDel" disabled="disabled"> 删除 </a>
<br>
<a onclick="return confirm('您真的删除吗?');" id="Mydatalist_ctl01_zxDel" disabled="disabled" style="position:absolute"> 呵呵删除 </a>第一行 连接变灰,但可以弹出对话框
第二行 连接便会,不弹出对话框
不知道有没有这个方法
myDeleteButton.Attributes.Add("style","position:absolute")