如何在 ASP.NET 中显示来自 C# 的警告框?

Posted

技术标签:

【中文标题】如何在 ASP.NET 中显示来自 C# 的警告框?【英文标题】:How to display an alert box from C# in ASP.NET? 【发布时间】:2013-04-28 12:56:19 【问题描述】:

我正在使用detail-view,并希望在我的代码块末尾显示一个警告框,上面写着:

谢谢!您的数据已成功插入。

有没有一种简单的方法可以从我的ASP.NET 网页后面的C# 代码中执行此操作?

【问题讨论】:

寻找Client.RegisterScriptBlock(.....) 这能回答你的问题吗? Calling javascript Function From CodeBehind 【参考方案1】:

插入代码后,

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

【讨论】:

这就像一个魅力。感谢大家的快速帮助。【参考方案2】:
Response.Write("<script>alert('Data inserted successfully')</script>");

【讨论】:

很好,因为我可以检查某个变量中是否有值进行检查【参考方案3】:

在插入代码之后写下这一行

 ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('Insert is successfull')", true);

【讨论】:

【参考方案4】:

您可以创建一个全局方法来在您的 Web 表单应用程序中显示消息(警报)。

public static class PageUtility

    public static void MessageBox(System.Web.UI.Page page,string strMsg)
    
        //+ character added after strMsg "')"
        ScriptManager.RegisterClientScriptBlock(page, page.GetType(), "alertMessage", "alert('" + strMsg + "')", true);

    

webform.aspx

protected void btnSave_Click(object sender, EventArgs e)

    PageUtility.MessageBox(this, "Success !");

【讨论】:

【参考方案5】:

如果您没有Page.Redirect(),请使用此

Response.Write("<script>alert('Inserted successfully!')</script>"); //works great

但如果你有Page.Redirect(),就用这个

Response.Write("<script>alert('Inserted..');window.location = 'newpage.aspx';</script>"); //works great

为我工作。

希望这会有所帮助。

【讨论】:

【参考方案6】:
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Record Inserted Successfully')", true); 

您可以使用这种方式,但请确保没有使用Page.Redirect()。 如果你想重定向到另一个页面,那么你可以试试这个:

page.aspx:

<asp:Button AccessKey="S" ID="submitBtn" runat="server" OnClick="Submit" Text="Submit"
                                        Width="90px" ValidationGroup="vg" CausesValidation="true" OnClientClick = "Confirm()" />

JavaScript 代码:

function Confirm()

   if (Page_ClientValidate())
   
      var confirm_value = document.createElement("INPUT");
      confirm_value.type = "hidden";
      confirm_value.name = "confirm_value";
      if (confirm("Data has been Added. Do you wish to Continue ?"))
      
         confirm_value.value = "Yes";
      
      else
      
         confirm_value.value = "No";
      
      document.forms[0].appendChild(confirm_value);
   

这是你的 sn-p 代码:

protected void Submit(object sender, EventArgs e)

   string confirmValue = Request.Form["confirm_value"];
   if (confirmValue == "Yes")
   
      Response.Redirect("~/AddData.aspx");
   
   else
   
      Response.Redirect("~/ViewData.aspx");
   

这肯定会奏效。

【讨论】:

我认为这不能回答问题,因为要求是在成功保存数据后有一条消息,而您的方法要求在保存数据之前进行确认【参考方案7】:

嘿试试这个代码。

ScriptManager.RegisterStartupScript(Page, Page.GetType(), "Alert", "Data has been saved", true);

干杯

【讨论】:

【参考方案8】:

您可以使用消息框来显示成功消息。这对我很有用。

MessageBox.Show("Data inserted successfully");

【讨论】:

Message.Show 不适用于 asp.net 这不是问题的答案 与问题无关,但回答了我的问题。谢谢!

以上是关于如何在 ASP.NET 中显示来自 C# 的警告框?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 C# ASP.net 从 SQL Server 中的文本框中存储日期

如何在 C# .net 网页上显示来自另一个线程的弹出窗口?

如何在 c# ASP.NET 中使用 GridView_RowCommand 事件从 GridView 获取图像

如何在 ASP.NET 网站上显示来自硬盘驱动器文件夹的图像列表?

asp.net怎么限制文本框输入的类型c#

在标签控件 (ASP.NET) 中显示来自 DataReader 的数据