点击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";
}
<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";
}
解决方案 »
- EXCEL问题
- 两个ASP.NET网站合成一个
- 求教!!怎样在html源代码处写C#代码
- 用了排序字段及分页存储过程,出现的排序问题
- 一个页面里有两个IFRAME,左边一个IFRAME有一棵TreeView,现在想通过点击左边树的子节点,在右边一个IFRAME里显示其内容。
- 在ASP。NET中有没有读取RSS的类,哪位知道能否给些源码
- 我把timeout设成“240”,为什么我的session不能超过20分钟?
- 求功能强大的完整新闻发布系统后台代码
- 哪位有仿啊里巴巴b2b的源码(只要C#.net)
- 版主老兄:我有两个问题,多谢!
- ASP。NET中怎么动态添加栏目?(高分)
- TRANSACT-SQL菜鸟问题---------在线等-------请求高手帮忙
我下面的c# code怎么没包起来?奇怪。
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);页面每次初始化时调用
Button2.Attributes.Add("onClick", "ButtonConfirm();");还有这个,也写page_load里
改成OnClientClick="ButtonConfirm();"
只有当客户端响应函数返回值为true时
才会执行服务器端相应函数
我现在的问题是能在适当的时候弹出对话框,并执行button2事件里的代码,但结果不会在页面上呈现出来!
也就是Label1.Text = "asdfsdf"; 之后页面没变化。
Button2.Attributes.Add("onClick", "return confirm('are you sure?')")
如果不行你就先findcontrol之后再添加就行了!
下面这样,如何。
}
protected void Button2_Click(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(UpdatePanel1, GetType(), "a", "Label1.value = 'asdfsdf'; ", true);
}
下面这样,如何。
}
protected void Button2_Click(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(UpdatePanel1, GetType(), "a", "Label1.value = 'asdfsdf'; ", true);
}