2009-08-27 77 views
2

我刚开始使用ASP,所以在C#中编写代码后,我惊讶地发现MessageBox对我来说无法通过按钮单击来触发确认弹出窗口。虽然使用Google,但我注意到了很多使用Javascript的建议,但希望避免在我的代码中添加其他语言。我试图实现建议的Javascript,但必须在语法中缺少一些东西。ASP中的弹出式警报

我确实发现了一个全是C#的文件:C# MessageBox它编译,但不弹出警报。我仍然在试图看看我能否实现它。我把它称为一个按钮事件,并认为事件可能没有被触发,但我在页面加载时也检查了它,而且还没有弹出。有什么建议么?

+1

你想让一个消息框在服务器上弹出吗? – 2009-08-27 14:47:07

+0

在我一直被Javascript建议淹没之前:我发布链接的C#代码是一个Javascript构建器。 – VengefulSakhmet 2009-08-27 14:59:26

+0

我希望它弹出客户端,但我有一个语法问题。我googled页面不断提示JavaScript代码警报。我只是想知道需要写什么来介绍JavaScript的使用,看到我的C#代码在其他地方运行。我可以有2个脚本吗?我正在使用SharePoint,因此它必须放在一个页面上。 – VengefulSakhmet 2009-08-27 15:04:24

回答

2

你想用JavaScript来做你的客户端验证。我曾经使用ASP.net控件做同样的事情,但它们不够灵活和笨重。

在你的代码中声明一个块来放置你的javascript函数。

这是您的

<script language="javascript"></script> 

块。

您的按钮控件还需要指向该javascript函数的onClientClick属性,而onClick属性仍将指向您的C#代码后面的函数。

该按钮的xhtml应该看起来像这样。

<asp:Button ID="Button1" runat="server" OnClientClick="confirm_entry()" onclick="Button1_Click" Text="Button" /> 

希望这是你在找什么。

+0

我可以在一个页面上使用两个脚本吗?我已经有一个用于我的C#代码。 我正在使用gridview buttonfield。 :-P 谢谢你的帮助。 – VengefulSakhmet 2009-08-27 15:17:04

+0

是的,你可以。你可以有你的C#代码和你的JavaScript代码。我试图给你发送示例页面,但堆栈溢出的UI不能正确显示。 – gsirianni 2009-08-27 15:23:01

+0

您的代码将包含按钮的onClick属性的事件hanlder。 onClientClick属性将处理javascript部分。

1

ASP是一种服务器端语言。任何你想在客户端做的事情都必须是html/css,javascript(或任何其他客户端,支持broswer的语言)。

2

您需要了解发生在哪里的情况。 C#代码在服务器上运行,并将结果发送到浏览器。在浏览器中选择查看源,查看从服务器发送的内容。

要显示一个弹出窗口,您需要发送一小段JavaScript到浏览器中显示弹出窗口。不过,在页面顶部显示一个包含该信息的框可能会更好,因为它没有侵入性。

1

将警报附加到按钮的OnClientClick事件。所以myButton.OnClientClick =“alert('message')”;如果你想提示用户,比如“你确定吗?”使用确认而不是提醒:

myButton.OnClientClick =“return confirm('Are you sure?')”;

1

你可以使用onclick =“retrun window.confirm('Your message here');”

+0

我的按钮位于gridview中。是否有相当于gridview按钮的onclick? – VengefulSakhmet 2009-08-27 14:52:31