我基于某些条件有自己的异常,并且想要在此catch块中出现控件时发出警报
catch (ApplicationException ex)
{
//want to call window.alert function here
}
答案 0 :(得分:27)
你的意思是,一个消息框?
MessageBox.Show("Error Message", "Error Title", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
此处提供更多信息:http://msdn.microsoft.com/en-us/library/system.windows.forms.messagebox(v=VS.100).aspx
答案 1 :(得分:10)
在没有更多信息的情况下给出确定答案有点困难,但通常的方法是注册启动脚本:
try
{
...
}
catch(ApplicationException ex){
Page.ClientScript.RegisterStartupScript(this.GetType(),"ErrorAlert","alert('Some text here - maybe ex.Message');",true);
}
答案 2 :(得分:6)
如果您在页面中使用需要脚本管理器Page.ClientScript
的ajax
不管用,
试试这个,它会做的工作:
ScriptManager.RegisterClientScriptBlock(this, GetType(),
"alertMessage", @"alert('your Message ')", true);
答案 3 :(得分:5)
您可以在任何网页或嵌套用户控件中使用下一个扩展方法:
static class Extensions
{
public static void ShowAlert(this Control control, string message)
{
if (!control.Page.ClientScript.IsClientScriptBlockRegistered("PopupScript"))
{
var script = String.Format("<script type='text/javascript' language='javascript'>alert('{0}')</script>", message);
control.Page.ClientScript.RegisterClientScriptBlock(control.Page.GetType(), "PopupScript", script);
}
}
}
下一步:
class YourPage : Page
{
private void YourMethod()
{
try
{
// do stuff
}
catch(Exception ex)
{
this.ShowAlert(ex.Message);
}
}
}
答案 4 :(得分:2)
MessageBox和其他人一样说,或RegisterClientScriptBlock如果你想要更随意的东西,但你的用例非常可疑。仅仅显示异常并不是您想要在生产代码中执行的操作 - 您不希望公开公开该详细信息,并且您确实希望通过私有的正确记录来记录它。
答案 5 :(得分:2)
你也可以这样做:
catch (Exception ex)
{
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "showError",
"alert('" + ex.Message + "');", true);
}
这将在警告框中显示异常消息
答案 6 :(得分:1)
我不确定我是否理解,但我猜你是在试图从ASP.Net展示一个MessageBox?
如果是这样,此代码项目文章可能会有所帮助:Simple MessageBox functionality in ASP.NET
答案 7 :(得分:0)
简单地使用它在后面的代码中显示警报消息框。
ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "alert('Record Saved Sucessfully');", true);
答案 8 :(得分:0)
您可以尝试以下方法:
希望它对您有用。
`private void validateUserEntry()
{
// Checks the value of the text.
if(serverName.Text.Length == 0)
{
// Initializes the variables to pass to the MessageBox.Show method.
string message = "You did not enter a server name. Cancel this operation?";
string caption = "Error Detected in Input";
MessageBoxButtons buttons = MessageBoxButtons.YesNo;
DialogResult result;
// Displays the MessageBox.
result = MessageBox.Show(message, caption, buttons);
if (result == System.Windows.Forms.DialogResult.Yes)
{
// Closes the parent form.
this.Close();
}
}
}`
答案 9 :(得分:0)
您应该尝试这个。
ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('Sakla Test');", true);