代码隐藏会执行,但不会执行预期的JavaScript
我正在为我工作的公司在一个网站上工作,这样他们就可以对他们为公司省钱和挣钱的活动有一个大致的了解 它是用ASP.NET制作的,但我有一个小问题。当用户成功添加活动时,他们将被重定向到显示挂起活动的站点(因为这些活动在投入生产之前需要获得批准)。当他们到达新页面时,我想使用我放在页面上的引导模式来告诉他们新活动的ID是什么,但它不起作用(但是下面的内容在我使用它的其他页面上起作用,尽管我在重定向到其他任何地方后没有使用它) 它会重定向到正确的页面,但不会显示警报。下面是触发代码隐藏会执行,但不会执行预期的JavaScript,javascript,c#,jquery,asp.net,twitter-bootstrap,Javascript,C#,Jquery,Asp.net,Twitter Bootstrap,我正在为我工作的公司在一个网站上工作,这样他们就可以对他们为公司省钱和挣钱的活动有一个大致的了解 它是用ASP.NET制作的,但我有一个小问题。当用户成功添加活动时,他们将被重定向到显示挂起活动的站点(因为这些活动在投入生产之前需要获得批准)。当他们到达新页面时,我想使用我放在页面上的引导模式来告诉他们新活动的ID是什么,但它不起作用(但是下面的内容在我使用它的其他页面上起作用,尽管我在重定向到其他任何地方后没有使用它) 它会重定向到正确的页面,但不会显示警报。下面是触发LoadComplete
LoadComplete
事件时使用的代码:
void Pending_LoadComplete(object sender, EventArgs e)
{
if (Request.QueryString.Count != 0)
{
String query = Request.QueryString.Get(0);
String jsExec = Util.ModalAlert(query, "#info_modal", ".modal-body");
ScriptManager.RegisterStartupScript(Page, GetType(), "ModalAlertShow", jsExec, false);
}
}
Util.ModalAlert()
方法:
public static String ModalAlert(String message, String modalId, String modalBodyId)
{
StringBuilder sb = new StringBuilder();
sb.AppendLine("<script type='text/javascript'>");
if (modalBodyId.StartsWith("."))
{
sb.AppendLine("$('"+ modalId + " " + modalBodyId + "').html('" + message + "');");
}
else
{
sb.AppendLine("$('" + modalId + modalBodyId + "').html('" + message + "');");
}
sb.AppendLine("$('" + modalId + "').modal('show');");
sb.AppendLine("</script>");
return sb.ToString();
}
publicstaticstringmodalalert(stringmessage、stringmodalid、stringmodalbodyid)
{
StringBuilder sb=新的StringBuilder();
某人加上一行(“”);
if(modalBodyId.StartsWith(“.”)
{
sb.AppendLine($('“+modalId+”“+modalBodyId+”).html(“+message+”);”;
}
其他的
{
sb.AppendLine(“$(”+modalId+modalBodyId+”).html(“+message+”);”);
}
sb.AppendLine($('“+modalId+”).modal('show');”;
某人加上一行(“”);
使某人返回字符串();
}
我在调试器中检查了代码是否实际运行,它确实运行了,但遗憾的是,模式没有出现在我重定向到的页面上。模态体甚至没有应该在其中的文本。只是空的。我怀疑,当我启动脚本或LoadComplete时,页面会重新加载,但不会像我认为的那样工作
知道为什么吗?有两个问题:1)什么是“待定”?如何将此事件处理程序连接到页面中(何时调用)?2) 你能展示一下相关的标记吗?3) 您确定必要的jquery ui脚本链接到页面吗?将最后一个参数从false更改为true。如果我没有弄错,这将自动添加脚本标记<代码>ScriptManager.RegisterStartupScript(第页,GetType(),“ModalAlertShow”,jsExec,true)也像@Andrei提到的,在如何调用中显示aspx标记