2011-04-19 79 views
1

我想在我的ASP.NET页面中使用Javascript Alert函数。ASP.NET中的Javascript警告

例如这样;

Response.Write("<script language=javascript>alert('ERROR');</script>); 

但是,这是行不通的。

我问这里有什么我做错了什么,每个人都使用RegisterScriptBlock

ScriptManager.RegisterClientScriptBlock(this, this.GetType(), " ", "alert('ERROR')",true); 

建议我,但我不想使用它,因为它的工作与PostBack

我该怎么办,没有PostBack

编辑:例如使用;

try 
{ 
    string strConnectionString = ConfigurationManager.ConnectionStrings["SqlServerCstr"].ConnectionString; 

    SqlConnection myConnection = new SqlConnection(strConnectionString); 
    myConnection.Open(); 

    string hesap = Label1.Text; 
    string musteriadi = DropDownList1.SelectedItem.Value; 
    string avukat = DropDownList2.SelectedItem.Value; 

    SqlCommand cmd = new SqlCommand("INSERT INTO AVUKAT VALUES (@MUSTERI, @AVUKAT, @HESAP)", myConnection); 

    cmd.Parameters.AddWithValue("@HESAP", hesap); 
    cmd.Parameters.AddWithValue("@MUSTERI", musteriadi); 
    cmd.Parameters.AddWithValue("@AVUKAT", avukat); 
    cmd.Connection = myConnection; 

    SqlDataReader dr = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection); 
    Response.Redirect(Request.Url.ToString()); 
    myConnection.Close(); 
} 
catch (Exception) 
{ 
    Response.Write("<h2>ERROR</h2>"); 
} 
+0

你真的想要做什么? **客户验证**?有更好的方法。 **服务器验证**?您通常会将错误消息发送回您的view/aspx页面并显示它 – balexandre 2011-04-19 07:31:24

+0

“无回发”是什么意思?什么应该触发警报框? – Heinzi 2011-04-19 07:33:43

+0

服务器验证。我想用我的数据库连接try-catch blocke .. – 2011-04-19 07:34:41

回答

3

a note from MSDN

如果你想注册一个脚本块 不属于部分页面 更新,如果你想注册 脚本块中 初始页面仅一次渲染,使用 RegisterClientScriptBlock方法 ClientScriptManager类。您可以从 ClientScript页面的属性 获取对 ClientScriptManager对象的引用。

所以,我觉得ClientScriptManager.RegisterStartupScript方法是你所需要的:使用的RegisterStartupScript用于注册脚本

ClientScriptManager cs = Page.ClientScript; 
cs.RegisterClientScriptBlock(
    this.GetType(), 
    " ", 
    @"<script language=javascript>alert('ERROR');</script>", 
    true 
); 
0

对于显示警告信息给用户,在网页中我有一个代码,看看这个

public void UserMsgBox(string sMsg) 
{ 
StringBuilder sb = new StringBuilder(); 
System.Web.UI.Control oFormObject = null; 
sMsg = sMsg.Replace("'", "\\'"); 
sMsg = sMsg.Replace(Strings.Chr(34), "\\" + Strings.Chr(34)); 
sMsg = sMsg.Replace(Constants.vbCrLf, "\\n"); 
sMsg = "<script language='javascript'>alert(\"" + sMsg + "\")</script>"; 
sb = new StringBuilder(); 
sb.Append(sMsg); 
foreach (System.Web.UI.Control oFormObject_loopVariable in this.Controls) { 
    oFormObject = oFormObject_loopVariable; 
    if (oFormObject is HtmlForm) { 
     break; // TODO: might not be correct. Was : Exit For 
    } 
} 
oFormObject.Controls.AddAt(oFormObject.Controls.Count, new LiteralControl(sb.ToString())); 
} 
+3

请不要复制/粘贴Google结果。这不是在这里欢迎.. – 2011-04-19 07:48:17

1

在你的代码忘了引号。我只是试图在一个示例页面如下:

Response.Write("<script language=javascript>alert('ERROR');</script>"); 

和它的工作。你在哪里放置了Response.Write在你的代码中?你能提供更多的细节吗?您想做什么?

+0

这是行不通的。 – 2011-04-19 07:47:20