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不再弹出来啊?
解决方案 »
- asp.net如何统计新闻点击次数
- F5 post重复提交的问题,有时候后退和复制新地址上去也提交
- 小虎,补分,iframe结贴后才看见您回帖
- config 配置问题
- C#操作WORD 在原有WORD文档 追加文字
- 为什么我在家里修改完我的项目后在公司打开就什么也没有了,老是用记事本打开,用VS2005打不开了,记事本中也是空白的,什么也没有
- 求解 gridview能不能对radiobuttonlist的DataTextField值进行编辑 小弟很急
- 什么是迭代器?做什么用
- asp:button 如何取消回发?
- window.open 怎么传递参数,为什么老出错
- 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")