100分求救,关于后台注册的确认对话框。

xiaoqhuang 2007-11-23 10:58:20
点击button1时做一些判断,然后再执行隐藏button2的事件。button2视情况弹出确认对话框。

有UpdatePanel,button2事件会执行,但页面不会更新。

代码如下:

<head runat="server">
<title>Untitled Page</title>
<script type="text/javascript">
function ButtonConfirm()
{
var flag = document.getElementById('<%=HiddenField1.ClientID %>');
if(flag.value=="Y")
{
return confirm("are you sure?");
}
else
{
return true;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
<asp:Button ID="Button2" runat="server" OnClick="Button2_Click" style="display:none" Text="Button" OnClientClick="return ButtonConfirm();" />
<asp:HiddenField ID="HiddenField1" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
</html>



protected void Page_Load(object sender, EventArgs e)
{
HiddenField1.Value = string.Empty;
Label1.Text = string.Empty;
}
protected void Button1_Click(object sender, EventArgs e)
{
Random r = new Random();
if (r.Next(0, 2) == 1)
{
HiddenField1.Value = "Y";
}
ScriptManager.RegisterStartupScript(UpdatePanel1, GetType(), "a", "document.getElementById('"+Button2.ClientID+"').click();", true);
}
protected void Button2_Click(object sender, EventArgs e)
{
Label1.Text = "asdfsdf";
}
...全文
186 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
ltengteng 2007-11-27
  • 打赏
  • 举报
回复
学习 顶一下
suyiming 2007-11-27
  • 打赏
  • 举报
回复
我的有更新 但没有显示出来 用个数据控件来 绑定 就可以 如果不用 就用个label就显示出不来
chuxue1342 2007-11-27
  • 打赏
  • 举报
回复
你page_load里面添加下面代码就可以了:
Button2.Attributes.Add("onClick", "return confirm('are you sure?')")
如果不行你就先findcontrol之后再添加就行了!
xiaoqhuang 2007-11-27
  • 打赏
  • 举报
回复
没解决,顶
SaintKaKa 2007-11-27
  • 打赏
  • 举报
回复
UP
awen177 2007-11-27
  • 打赏
  • 举报
回复
up
xiaoqhuang 2007-11-27
  • 打赏
  • 举报
回复
我代码只是一个示例,并不是单纯的给页面控件赋值的.
功能要实现:点击之后,执行服务器代码到一半时,根据返回的值是否弹出确认对话框,弹出后点“是”继续,点“否”中止。不弹出的话直接执行后面的代码.
jokulyang 2007-11-27
  • 打赏
  • 举报
回复

下面这样,如何。


}
protected void Button2_Click(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(UpdatePanel1, GetType(), "a", "Label1.value = 'asdfsdf'; ", true);


}



jokulyang 2007-11-27
  • 打赏
  • 举报
回复

下面这样,如何。


}
protected void Button2_Click(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(UpdatePanel1, GetType(), "a", "Label1.value = 'asdfsdf'; ", true);


}



xiaoqhuang 2007-11-27
  • 打赏
  • 举报
回复
page_load里不行啊,因为有时需要弹出,有时不用,在button事件里面判断.
suyiming 2007-11-25
  • 打赏
  • 举报
回复
这个问题我也碰到 到现在我都还在查原因
西安风影 2007-11-23
  • 打赏
  • 举报
回复
一个按钮既有客户端相应函数又有服务器端相应函数
只有当客户端响应函数返回值为true时
才会执行服务器端相应函数
西安风影 2007-11-23
  • 打赏
  • 举报
回复
OnClientClick="return ButtonConfirm();"
改成

OnClientClick="ButtonConfirm();"
  • 打赏
  • 举报
回复

Button2.Attributes.Add("onClick", "ButtonConfirm();");

还有这个,也写page_load里
  • 打赏
  • 举报
回复

ScriptManager.RegisterStartupScript(Button2, this.GetType(), "ButtonConfirm", "
function ButtonConfirm()
{
var flag = document.getElementById('"+HiddenField1.ClientID+"');
if(flag.value=='Y')
{
return confirm('are you sure?');
}
else
{
return true;
}
}
", true);

页面每次初始化时调用
whb147 2007-11-23
  • 打赏
  • 举报
回复
比较麻烦
帮你顶一下吧
jennydin 2007-11-23
  • 打赏
  • 举报
回复
你用ajax来实现

逻辑复杂不要紧

不要写到js里,

写到C#里面,

最后按需求返回给js好了啊。
xiaoqhuang 2007-11-23
  • 打赏
  • 举报
回复
4楼的仁兄,其实很简单,就是点击之后,执行到一半时弹出确认对话框,点“是”继续,点“否”中止。
xiaoqhuang 2007-11-23
  • 打赏
  • 举报
回复
本来是用ajax做的,逻辑越来越复杂,js代码越来越多,也越乱。想用updatePanel,理一下代码。
我下面的c# code怎么没包起来?奇怪。
yuan74521940 2007-11-23
  • 打赏
  • 举报
回复
感觉思路很奇怪 ..
看了很久不知道你要实现的!!!!
只能帮你顶个 ..
加载更多回复(4)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧