如何在ASP.NET中显示消息框?

我想在成功保存任何项目时显示一个消息框。 我用谷歌搜索并尝试了不同的解决方案,但它们都没有奏效。 这是我正在使用的代码:

try { con.Open(); string pass="abc"; cmd = new SqlCommand("insert into register values('" + txtName.Text + "','" + txtEmail.Text + "','" + txtPhoneNumber.Text + "','" + ddlUserType.SelectedText + "','" + pass + "')", con); cmd.ExecuteNonQuery(); con.Close(); Response.Write("alert('Login Successful')"); } catch (Exception ex) { } finally { con.Close(); } 

(我正在使用Firefox,如果这很重要)

@freelancer如果您使用的是ScriptManager,请尝试使用此代码进行消息。

 string script = "alert(\"Hello!\");"; ScriptManager.RegisterStartupScript(this, GetType(), "ServerControlScript", script, true); 

在页面中创建一个MsgBox方法。


 public void MsgBox(String ex, Page pg,Object obj) { string s = ""; Type cstype = obj.GetType(); ClientScriptManager cs = pg.ClientScript; cs.RegisterClientScriptBlock(cstype, s, s.ToString()); } 

当你想使用msgbox时,只需输入此行即可

 MsgBox("! your message !", this.Page, this); 

试试这个,它在我的浏览器中工作正常:

你的回复写代码应该是

 Response.Write(""); 

希望这有效

你可以使用clientscript。 MSDN:Clientscript

 String scriptText = "alert('sdsd');"; ClientScript.RegisterOnSubmitStatement(this.GetType(), "ConfirmSubmit", scriptText); 

试试这个

 ClientScript.RegisterStartupScript(this.GetType(), "JSScript", scriptText); ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", scriptText); //use this 

此代码将帮助您在asp.net文件中添加MsgBox。 您可以根据需要更改function定义。 希望这可以帮助!

 protected void Addstaff_Click(object sender, EventArgs e) { if (intClassCapcity < intCurrentstaffNumber) { MsgBox("Record cannot be added because max seats available for the " + (string)Session["course_name"] + " training has been reached"); } else { sqlClassList.Insert(); } } private void MsgBox(string sMessage) { string msg = ""; Response.Write(msg); } 

创建一个简单的JavaScript函数,其中包含一行代码 – “alert(”Hello this is Alert“)”“而不是OnClick(),使用OnClientClick()方法。

 `      
`

试用此代码:成功

写在单击按钮上。

 ScriptManager.RegisterStartupScript(this, GetType(),"alertMessage", "alert('Record Inserted Successfully');", true); 

最好的解决方案是在visualstudio GUI中直接使用java

这里是:在一个按钮上转到“OnClientClick”属性(它不是事件*)覆盖类型:

 return confirm('are you sure?') 

如果按下取消,它将在当前页面上显示取消确定按钮透明的对话框,不会回发。 但是,如果您只想要确定按钮类型:

 alert ('i told you so') 

像onclick工作服务器端的事件他们执行你的代码,而OnClientClick在浏览器端运行。 最接近基本对话框

使用AJAX模态弹出窗口并创建消息框类:

消息箱类:

 public class MessageBox { ModalPopupExtender _modalPop; Page _page; object _sender; Panel _pnl; public enum Buttons { AbortRetryIgnore, OK, OKCancel, RetryCancel, YesNo, YesNoCancel } public enum DefaultButton { Button1, Button2, Button3 } public enum MessageBoxIcon { Asterisk, Exclamation, Hand, Information, None, Question, Warning } public MessageBox(Page page, object sender, Panel pnl) { _page = page; _sender = sender; _pnl = pnl; _modalPop = new ModalPopupExtender(); _modalPop.ID = "popUp"; _modalPop.PopupControlID = "ModalPanel"; } public void Show(String strTitle, string strMessage, Buttons buttons, DefaultButton defaultbutton, MessageBoxIcon msbi) { MasterPage mPage = _page.Master; Label lblTitle = null; Label lblError = null; Button btn1 = null; Button btn2 = null; Button btn3 = null; Image imgIcon = null; lblTitle = ((Default)_page.Master).messageBoxTitle; lblError = ((Default)_page.Master).messageBoxMsg; btn1 = ((Default)_page.Master).button1; btn2 = ((Default)_page.Master).button2; btn3 = ((Default)_page.Master).button3; imgIcon = ((Default)_page.Master).messageBoxIcon; lblTitle.Text = strTitle; lblError.Text = strMessage; btn1.CssClass = "btn btn-default"; btn2.CssClass = "btn btn-default"; btn3.CssClass = "btn btn-default"; switch (msbi) { case MessageBoxIcon.Asterisk: //imgIcon.ImageUrl = "~/img/asterisk.jpg"; break; case MessageBoxIcon.Exclamation: //imgIcon.ImageUrl = "~/img/exclamation.jpg"; break; case MessageBoxIcon.Hand: break; case MessageBoxIcon.Information: break; case MessageBoxIcon.None: break; case MessageBoxIcon.Question: break; case MessageBoxIcon.Warning: break; } switch (buttons) { case Buttons.AbortRetryIgnore: btn1.Text = "Abort"; btn2.Text = "Retry"; btn3.Text = "Ignore"; btn1.Visible = true; btn2.Visible = true; btn3.Visible = true; break; case Buttons.OK: btn1.Text = "OK"; btn1.Visible = true; btn2.Visible = false; btn3.Visible = false; break; case Buttons.OKCancel: btn1.Text = "OK"; btn2.Text = "Cancel"; btn1.Visible = true; btn2.Visible = true; btn3.Visible = false; break; case Buttons.RetryCancel: btn1.Text = "Retry"; btn2.Text = "Cancel"; btn1.Visible = true; btn2.Visible = true; btn3.Visible = false; break; case Buttons.YesNo: btn1.Text = "No"; btn2.Text = "Yes"; btn1.Visible = true; btn2.Visible = true; btn3.Visible = false; break; case Buttons.YesNoCancel: btn1.Text = "Yes"; btn2.Text = "No"; btn3.Text = "Cancel"; btn1.Visible = true; btn2.Visible = true; btn3.Visible = true; break; } if (defaultbutton == DefaultButton.Button1) { btn1.CssClass = "btn btn-primary"; btn2.CssClass = "btn btn-default"; btn3.CssClass = "btn btn-default"; } else if (defaultbutton == DefaultButton.Button2) { btn1.CssClass = "btn btn-default"; btn2.CssClass = "btn btn-primary"; btn3.CssClass = "btn btn-default"; } else if (defaultbutton == DefaultButton.Button3) { btn1.CssClass = "btn btn-default"; btn2.CssClass = "btn btn-default"; btn3.CssClass = "btn btn-primary"; } FirePopUp(); } private void FirePopUp() { _modalPop.TargetControlID = ((Button)_sender).ID; _modalPop.DropShadow = true; _modalPop.OkControlID = //btn 1 / 2 / 3; _modalPop.CancelControlID = //btn 1 / 2 / 3; _modalPop.BackgroundCssClass = "modalBackground"; _pnl.Controls.Add(_modalPop); _modalPop.Show(); } 

在我的MasterPage代码中:

  #region AlertBox public Button button1 { get { return this.btn1; } } public Button button2 { get { return this.btn2; } } public Button button3 { get { return this.btn1; } } public Label messageBoxTitle { get { return this.lblMessageBoxTitle; } } public Label messageBoxMsg { get { return this.lblMessage; } } public Image messageBoxIcon { get { return this.img; } } public DialogResult res { get { return res; } set { res = value; } } #endregion 

在我的MasterPage aspx中:

在标题上添加引用(仅适用于某些样式)

  

关于内容:

     

并通过按钮调用它,按钮代码:

 protected void btnTest_Click(object sender, EventArgs e) { MessageBox msgBox = new MessageBox(this, sender, aPanel); msgBox.Show("This is my Caption", "this is my message", MessageBox.Buttons.AbortRetryIgnore, MessageBox.DefaultButton.Button1, MessageBox.MessageBoxIcon.Asterisk); } 

Response.Write用于显示不用于执行JavaScript的文本,如果要从代码中执行JavaScript,请尝试如下:

 try { con.Open(); string pass="abc"; cmd = new SqlCommand("insert into register values('" + txtName.Text + "','" + txtEmail.Text + "','" + txtPhoneNumber.Text + "','" + ddlUserType.SelectedText + "','" + pass + "')", con); cmd.ExecuteNonQuery(); con.Close(); Page.ClientScript.RegisterStartupScript(this.GetType(), "click","alert('Login Successful');"); } catch (Exception ex) { } finally { con.Close(); }