<asp:LinkButton id="LinkButton1" runat="server" Text="报修" CausesValidation="false" CommandArgument='<%# Eval("EquipmentID") %>' CommandName="" OnClick="LinkButton1Click" OnClientClick="return confirm('确认要删除此行信息吗?')"></asp:LinkButton>
</ItemTemplate>
我看到网上大部分的回复都是添加 OnClientClick="return confirm('确认要删除此行信息吗?')"
但我在所弹出对话框中点取消,却依然执行了 LinkButton1_Click 里面的事件呀!
请教下,我是不是还有什么地方没设置正确????
21 个解决方案
#1
查看一下html代码
很有可能把这两个js代码分配导href和onclick属性中,从而点击一下两个事件都触发了
很有可能把这两个js代码分配导href和onclick属性中,从而点击一下两个事件都触发了
#2
回 changke18:
HTML代码就在一楼呀,不存在href设置,在LinkButton1_Click 事件内,也没有任何JS语言
HTML代码就在一楼呀,不存在href设置,在LinkButton1_Click 事件内,也没有任何JS语言
#3
just try this:OnClientClick= "if(!confirm( '您确认删除该记录吗? ')) return; "
#4
just try this: OnClientClick= "if(!confirm( '您确认删除该记录吗? ')) return; "
#5
回 changke18:
HTML代码就在一楼呀,不存在href设置,在LinkButton1_Click 事件内,也没有任何JS语言
HTML代码就在一楼呀,不存在href设置,在LinkButton1_Click 事件内,也没有任何JS语言
#6
js = "javascript:if(confirm('是否确认删除!')==true) Page_ClientValidate();else return false;"; //加入判断对话框
this.btnDel.Attributes.Add("onclick", js);
这样,我之前也出现过这个问题,后来上网查了下,要这样子用
#7
你要设置一个flag,进行判断,因为你的代码里面没有一个进行控制的变量。所以无论如何都会进入的。
#8
照理说不应该出现这种情况。
另外建议不要这么处理GridView里的LinkButton事件。
给LinkButton的CommandName起个名,如CommandName="MyCmd",然后在GridView.RowCommand事件处理代码里
if(e.CommandName == "MyCmd")
{
int id = Convert.ToInt32(e.CommandArgument);
// ...
}
另外建议不要这么处理GridView里的LinkButton事件。
给LinkButton的CommandName起个名,如CommandName="MyCmd",然后在GridView.RowCommand事件处理代码里
if(e.CommandName == "MyCmd")
{
int id = Convert.ToInt32(e.CommandArgument);
// ...
}
#9
楼上正解,同时要删除onclick事件
#10
#11
楼上 的 已经 解决问题了````
#12
还是给命令添加参数才是正确的途径
否则会有未知的意外发生的
否则会有未知的意外发生的
#13
不好意思,昨天出差去了,刚刚回来,没有及时回复大家,非常抱歉!!
谢谢大家的回复,我已经分别按照 namhyuk 和lrcasd 两位朋友的方法做过,但运行后,当我点击”取消“时,依旧会执行下面的命令呀??
下面是我的HTML和C#源码,劳烦大家看看有什么问题呢?
谢谢大家的回复,我已经分别按照 namhyuk 和lrcasd 两位朋友的方法做过,但运行后,当我点击”取消“时,依旧会执行下面的命令呀??
下面是我的HTML和C#源码,劳烦大家看看有什么问题呢?
<asp:GridView id="GridView1" runat="server" GridLines="Horizontal" CellPadding="3" BorderWidth="1px" BorderStyle="None" BorderColor="#E7E7FF" BackColor="White" AutoGenerateColumns="False" nRowDataBound="GridView1_RowDataBound" OnRowCommand="GridView1_RowCommand">
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:LinkButton id="LinkButton1" runat="server" Text="报修" CausesValidation="false" CommandArgument='<%# Eval("EquipmentID") %>' CommandName="cmdFaultReport" OnClientClick="javascript:return confirm('确认要报修该设备吗?')"></asp:LinkButton>
</ItemTemplate>
<ItemStyle HorizontalAlign="center" Width="50px"></ItemStyle>
</asp:TemplateField>
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "cmdFaultReport")
{
Hashtable ht = new Hashtable();
ht.Add("EquipmentState", "2");
string where = " where EquipmentID=";
where += "'" + e.CommandArgument.ToString() + "'";
TabEquipmentFixed.Update(ht, where);
//
BindData();
}
}
#14
好郁闷啊!
自己顶顶,期待高人的出现
自己顶顶,期待高人的出现
#15
你代码没错。
我的意思是你把生成后的html源代码贴出来,
帮你分析一下,看看是什么原因导致的。
生成的超级连接,正常情况是href负责提交,
提交前先判断onclick是否返回真,如果真就提交,假就不提交
我的意思是你把生成后的html源代码贴出来,
帮你分析一下,看看是什么原因导致的。
生成的超级连接,正常情况是href负责提交,
提交前先判断onclick是否返回真,如果真就提交,假就不提交
#16
请问生成后的html源代码的源代码怎么贴出来呢??
#17
我也遇到了这样的问题,
但把执行事件放在JAVASCRIPT里面就能够顺利执行,如果不放在里面,点取消也执行下面的事件。。。
但把执行事件放在JAVASCRIPT里面就能够顺利执行,如果不放在里面,点取消也执行下面的事件。。。
#18
请问朋友,如何把执行事件放在JAVASCRIPT里面呢??
我刚学VS,对JAVA也不太懂,麻烦多指教好吗?
#19
用AJAX 加个ConfirmButtonExtender 设置下就行啦
#20
不好意思,我初学VS,能讲得详细点吗?
#21
郁闷,原来是自己机子的问题,把系统放在别人机子上一切正常!
结贴了,谢谢大家的帮助!
结贴了,谢谢大家的帮助!
#1
查看一下html代码
很有可能把这两个js代码分配导href和onclick属性中,从而点击一下两个事件都触发了
很有可能把这两个js代码分配导href和onclick属性中,从而点击一下两个事件都触发了
#2
回 changke18:
HTML代码就在一楼呀,不存在href设置,在LinkButton1_Click 事件内,也没有任何JS语言
HTML代码就在一楼呀,不存在href设置,在LinkButton1_Click 事件内,也没有任何JS语言
#3
just try this:OnClientClick= "if(!confirm( '您确认删除该记录吗? ')) return; "
#4
just try this: OnClientClick= "if(!confirm( '您确认删除该记录吗? ')) return; "
#5
回 changke18:
HTML代码就在一楼呀,不存在href设置,在LinkButton1_Click 事件内,也没有任何JS语言
HTML代码就在一楼呀,不存在href设置,在LinkButton1_Click 事件内,也没有任何JS语言
#6
js = "javascript:if(confirm('是否确认删除!')==true) Page_ClientValidate();else return false;"; //加入判断对话框
this.btnDel.Attributes.Add("onclick", js);
这样,我之前也出现过这个问题,后来上网查了下,要这样子用
#7
你要设置一个flag,进行判断,因为你的代码里面没有一个进行控制的变量。所以无论如何都会进入的。
#8
照理说不应该出现这种情况。
另外建议不要这么处理GridView里的LinkButton事件。
给LinkButton的CommandName起个名,如CommandName="MyCmd",然后在GridView.RowCommand事件处理代码里
if(e.CommandName == "MyCmd")
{
int id = Convert.ToInt32(e.CommandArgument);
// ...
}
另外建议不要这么处理GridView里的LinkButton事件。
给LinkButton的CommandName起个名,如CommandName="MyCmd",然后在GridView.RowCommand事件处理代码里
if(e.CommandName == "MyCmd")
{
int id = Convert.ToInt32(e.CommandArgument);
// ...
}
#9
楼上正解,同时要删除onclick事件
#10
#11
楼上 的 已经 解决问题了````
#12
还是给命令添加参数才是正确的途径
否则会有未知的意外发生的
否则会有未知的意外发生的
#13
不好意思,昨天出差去了,刚刚回来,没有及时回复大家,非常抱歉!!
谢谢大家的回复,我已经分别按照 namhyuk 和lrcasd 两位朋友的方法做过,但运行后,当我点击”取消“时,依旧会执行下面的命令呀??
下面是我的HTML和C#源码,劳烦大家看看有什么问题呢?
谢谢大家的回复,我已经分别按照 namhyuk 和lrcasd 两位朋友的方法做过,但运行后,当我点击”取消“时,依旧会执行下面的命令呀??
下面是我的HTML和C#源码,劳烦大家看看有什么问题呢?
<asp:GridView id="GridView1" runat="server" GridLines="Horizontal" CellPadding="3" BorderWidth="1px" BorderStyle="None" BorderColor="#E7E7FF" BackColor="White" AutoGenerateColumns="False" nRowDataBound="GridView1_RowDataBound" OnRowCommand="GridView1_RowCommand">
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:LinkButton id="LinkButton1" runat="server" Text="报修" CausesValidation="false" CommandArgument='<%# Eval("EquipmentID") %>' CommandName="cmdFaultReport" OnClientClick="javascript:return confirm('确认要报修该设备吗?')"></asp:LinkButton>
</ItemTemplate>
<ItemStyle HorizontalAlign="center" Width="50px"></ItemStyle>
</asp:TemplateField>
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "cmdFaultReport")
{
Hashtable ht = new Hashtable();
ht.Add("EquipmentState", "2");
string where = " where EquipmentID=";
where += "'" + e.CommandArgument.ToString() + "'";
TabEquipmentFixed.Update(ht, where);
//
BindData();
}
}
#14
好郁闷啊!
自己顶顶,期待高人的出现
自己顶顶,期待高人的出现
#15
你代码没错。
我的意思是你把生成后的html源代码贴出来,
帮你分析一下,看看是什么原因导致的。
生成的超级连接,正常情况是href负责提交,
提交前先判断onclick是否返回真,如果真就提交,假就不提交
我的意思是你把生成后的html源代码贴出来,
帮你分析一下,看看是什么原因导致的。
生成的超级连接,正常情况是href负责提交,
提交前先判断onclick是否返回真,如果真就提交,假就不提交
#16
请问生成后的html源代码的源代码怎么贴出来呢??
#17
我也遇到了这样的问题,
但把执行事件放在JAVASCRIPT里面就能够顺利执行,如果不放在里面,点取消也执行下面的事件。。。
但把执行事件放在JAVASCRIPT里面就能够顺利执行,如果不放在里面,点取消也执行下面的事件。。。
#18
请问朋友,如何把执行事件放在JAVASCRIPT里面呢??
我刚学VS,对JAVA也不太懂,麻烦多指教好吗?
#19
用AJAX 加个ConfirmButtonExtender 设置下就行啦
#20
不好意思,我初学VS,能讲得详细点吗?
#21
郁闷,原来是自己机子的问题,把系统放在别人机子上一切正常!
结贴了,谢谢大家的帮助!
结贴了,谢谢大家的帮助!