【发布时间】:2019-06-23 10:20:59
【问题描述】:
我有一个 ASP.NET Web 应用程序。出于某些原因,我正在使用 MasterPage。我想显示一个JavaSript 消息框。当用户单击某个按钮控件时,它应该相应地显示一条消息。现在,当我在没有MasterPage 的情况下执行此操作时,它可以正常工作,但是当WebPage 从我的MasterPage 继承时,我的意思是如果页面是ContentPage,那么JavaScript 消息框不会显示。我想要一个通用的方法,以便我可以在其他content Pages 中重用该方法。
这是代码。
private bool CheckEmployeeNo()
{
using (SqlConnection con = new SqlConnection(Base.GetConnection))
{
using (SqlCommand cmd = new SqlCommand("SELECT COUNT(*) FROM [TableEmployee] WHERE EmployeeNo=@EmployeeNo", con))
{
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@EmployeeNo", tbEmployeeNumber.Text);
con.Open();
int UserExist = Convert.ToInt32(cmd.ExecuteScalar());
if (UserExist > 0)
{
string myMessage = "Here my msg goes...";
ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('Erroe " + myMessage + "');", true);
//lblMsg.Text = "Error: Message goes here.";
//lblMsg.ForeColor = Color.Red;
return false;
}
}
}
return true;
}
【问题讨论】:
-
用
ClientScript.RegisterClientScriptBlock代替RegisterStartupScript怎么样?如果您有其他名为alert的注册脚本,请尝试使用其他键名。 -
我已经像
ClientScript.RegisterClientScriptBlock(GetType(), "alert", "alert('" + myMsg + "');", true);那样做了,但仍然没有显示。还有什么其他的关键?喜欢success或failure -
尝试其他名称作为脚本名称,例如
ClientScript.RegisterClientScriptBlock(GetType(), "success", "alert('" + myMsg + "');", true)。还要检查控制台中客户端错误的可能性。 -
它仍然无法正常工作。并在控制台中显示此错误
SyntaxError: missing ) after argument list这是链接 [developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… 将我指向此。 -
其实在masterpage中你必须使用Page.Clientscript
标签: javascript c# asp.net webforms master-pages