C# Page.ClientScript.RegisterStartupScript不工作
我已经在站点母版页上编写了Java脚本。但是,当我调用Javascirpts时,它不起作用。有人能帮我弄清楚吗?多谢各位 下面是站点母版页中的Javascript I代码C# Page.ClientScript.RegisterStartupScript不工作,c#,javascript,asp.net,webforms,C#,Javascript,Asp.net,Webforms,我已经在站点母版页上编写了Java脚本。但是,当我调用Javascirpts时,它不起作用。有人能帮我弄清楚吗?多谢各位 下面是站点母版页中的Javascript I代码 <head id="Head1" runat="server"> <title></title> <link href="~/Styles/Site.css" rel="stylesheet" type="text/css" /> <link rel="stylesheet
<head id="Head1" runat="server">
<title></title>
<link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="/Styles/jquery-ui-1.9.2.custom.min.css" />
<script type="text/javascript" src="/Scripts/jquery-1.8.3.js"></script>
<script type="text/javascript" src="/Scripts/jquery-ui-1.9.2.custom.min.js"></script>
<script type="text/javascript">
function dialog(text) {
$("#text").text(text);
$("#dialog-message").dialog
({
buttons: {
close: function () { $(this).dialog("close"); }
}
});
};
function dialogWithRedirect(text, url) {
$("#text").text(text);
$("#dialog-message").dialog
({
buttons: {
close: function () { location.href = url; $(this).dialog("close"); }
}
});
};
var confirmed = false;
function confirmDialog(obj, text) {
if (!confirmed) {
$("#text").text(text);
$("#dialog-message").dialog({
buttons: {
"Confirm": function () {
$(this).dialog("close");
confirmed = true;
obj.click();
},
"Cancel": function () {
$(this).dialog("close");
}
}
});
}
return confirmed;
};
</script>
<asp:ContentPlaceHolder ID="HeadContent" runat="server">
</asp:ContentPlaceHolder>
函数对话框(文本){
$(“#文本”)。文本(文本);
$(“#对话框消息”).dialog
({
按钮:{
关闭:函数(){$(this).dialog(“close”);}
}
});
};
函数对话框WithRedirect(文本、url){
$(“#文本”)。文本(文本);
$(“#对话框消息”).dialog
({
按钮:{
关闭:函数(){location.href=url;$(this).dialog(“close”);}
}
});
};
var确认=错误;
功能确认对话框(obj,文本){
如果(!已确认){
$(“#文本”)。文本(文本);
$(“#对话框消息”).dialog({
按钮:{
“确认”:功能(){
$(此).dialog(“关闭”);
确认=正确;
obj.click();
},
“取消”:函数(){
$(此).dialog(“关闭”);
}
}
});
}
返回确认;
};
这就是我如何称呼Javascripts的
protected void ImageButtonOK_Click(object sender, ImageClickEventArgs e)
{
if (tbFirstName.Text != "" && tbLastName.Text != "" && tbNickName.Text != "" && tbUsername.Text != "" && tbPassword.Text != "" && tbConfirmPassword.Text != "")
{
if (validateUsername())
{
Database database = new Database();
string sql = "INSERT INTO users " +
" (user_id " +
" ,first_name " +
" ,last_name " +
" ,nickname " +
" ,image " +
" ,username " +
" ,password) " +
" VALUES " +
" (" + user_id + " " +
" ,'" + tbFirstName.Text + "' " +
" ,'" + tbLastName.Text + "' " +
" ,'" + tbNickName.Text + "' " +
" ,'" + pictureFile + "' " +
" ,'" + tbUsername.Text + "' " +
" ,'" + tbPassword.Text + "')";
database.executeNonQuery(sql);
database.close();
Page.ClientScript.RegisterStartupScript(typeof(Page), "print", "<script type='text/javascript'> dialogWithRedirect('Save complete','user.aspx');</script>");
}
}
else
{
Page.ClientScript.RegisterStartupScript(typeof(Page), "print", "<script type='text/javascript'> dialog('Please fill all required data');</script>");
}
}
protectedvoid ImageButtonOK_单击(对象发送者,ImageClickEventArgs e)
{
if(tbFirstName.Text!=“”&&tbLastName.Text!=“”&&tb昵称.Text!=“”&&tbUsername.Text!=“”&&tbPassword.Text!=“”&&tbConfirmPassword.Text!=“”)
{
if(validateUsername())
{
数据库=新数据库();
string sql=“插入用户”+
“(用户id”+
,名字+
,姓+
,昵称+
“,图像”+
,用户名+
“,密码)”+
“价值观”+
(“+用户id+”)+
“,”+tbFirstName.Text+“”+
“,”+tbLastName.Text+“”+
“,”+TB昵称.Text+“”+
“,”+pictureFile+“”+
“,”+tbUsername.Text+“”+
“,”+tbPassword.Text+“)”;
数据库.executeNonQuery(sql);
close()数据库;
Page.ClientScript.RegisterStartupScript(typeof(Page),“print”,“dialogWithRedirect('Save complete','user.aspx');”;
}
}
其他的
{
Page.ClientScript.RegisterStartupScript(typeof(Page),“打印”,“对话框('请填写所有必需的数据');”;
}
}
我怀疑问题在于,在定义函数dialogWithRedirect
和dialog
之前,在代码隐藏中注册的脚本块被插入到页面中。要确保调用这些函数时已定义这些函数,请将调用包装到load回调中:
Page.ClientScript.RegisterStartupScript(typeof(Page),
"print",
"<script type='text/javascript'> $(function() { dialog('Please fill all required data'); });</script>");
Page.ClientScript.RegisterStartupScript(typeof(Page),
“打印”,
“$(function(){dialog('请填写所有必需的数据';});”;
或者您可以使用以下代码
String PopUp="<script type='text/javascript'>"+"alert('Please fill all required data')"+"</script>");
Page.RegisterStartupScript("PopScript",Popup);
String PopUp=“”+”警报('请填写所有必需的数据')“+”;
Page.RegisterStartupScript(“PopScript”,弹出窗口);
我希望这会对你有所帮助。
页面。RegisterStartupScript
是从.NET 2.0开始的。