簡體   English   中英

C#中的服務器端Javascript警報

[英]Server Side Javascript Alert in C#

我試圖創建一個在服務器端有效的警報,最好使用JavaScript。 如果用戶輸入的值與從SQL Server提取的值不匹配,則會顯示此警報。 我正在使用的客戶端警報是:

MessageBox.Show("User Input was not found. Please try again.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);

我嘗試通過執行以下操作來復制它:

   string message = "User Input was not found. Please try again.";
   System.Text.StringBuilder sb = new System.Text.StringBuilder();
   sb.Append("<script type = 'text/javascript' runat = 'server'>");
   sb.Append("window.onload=function(){");
   sb.Append("alert('");
   sb.Append(message);
   sb.Append("')};");
   sb.Append("</script>");
   Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", sb.ToString());

我也試過這個:

   ClientScriptManager cs = Page.ClientScript;
   cs.RegisterClientScriptBlock(
   this.GetType(),
   " ",
   @"<script language=javascript>alert('User Input was not found. Please try again');</script>",
   true
   );

顯示此警報后,我想立即使用Respone.Redirect("redirectpage.aspx")

有沒有更有效的解決方案? 我的代碼中缺少什么嗎? 這是我第一次將JavaScript用於服務器端應用程序,因此任何細節都將不勝感激。

嘗試使用此方法,它也具有重定向到特定頁面的參數

public class HTMLHelper
    {
        public static void jsAlertAndRedirect(System.Web.UI.Page instance, string Message, string Redirect_URL)
        {
            instance.Response.Write(@"<script language='javascript'>alert('" + Message + "');document.location.href='" + url + "'; </script>");
        }
    }

用這個叫它

HTMLHelper.jsAlertAndRedirect(this.Page, "Success Message !", ResolveUrl("~/default.aspx"));

使用ajax

$.ajax({
  url: validationUrl,
  data: {paramName: paramValue }
}).done(function(data ) {
  if (data.error)
    alert("error");
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM