bootstrap modal popup c#codebehind
我在我的c#asp.net项目中使用bootstrap,我想显示从后面的代码显示模态弹出窗口。
在我的页面标题我有一个javascript函数如下:
function LoginFail() { $('#windowTitleDialog').modal('show'); }
并点击我的按钮我调用javascript如下
ScriptManager.RegisterClientScriptBlock(this, typeof(System.Web.UI.Page), "LoginFail", "LoginFail();", true);
这不会显示模态弹出窗口。 但是,如果我使用类似alert('login failed')
,它工作正常。
任何人都可以帮忙吗?
默认情况下,Bootstrap javascript文件包含在关闭正文标记之前
我把这些javascript文件放在body标签前面的head部分,我写了一个小函数来调用模态弹出窗口:
然后我可以通过以下代码调用代码隐藏的模态弹出窗口:
protected void lbEdit_Click(object sender, EventArgs e) { ScriptManager.RegisterStartupScript(this,this.GetType(),"Pop", "openModal();", true); }
这就是我解决的问题:
脚本function
Button声明
请注意,未设置属性data-togle =“modal”。
LaunchModal_Click事件中的服务器端代码是:
ScriptManager.RegisterStartupScript(this, this.GetType(), "LaunchServerSide", "$(function() { LoginFail(); });", true);
我希望这对你有帮助。
我假设你正在使用jQuery模式插件之一。 在这种情况下,我怀疑,插件代码在被调用时没有被初始化(这将在它被渲染到页面之后立即)。 在执行插件代码后,您必须推迟调用该函数。 您案例的实施可能如下所示:
ScriptManager.RegisterClientScriptBlock(this, typeof(System.Web.UI.Page), "LoginFail", "$(function() { LoginFail(); });", true);
我有同样的问题,试图找到在线解决方案,但我无法这样做。 我可以通过后面的代码调用其他javascript函数,但是当我添加模态js函数时,模态不显示。
我的猜测是模态。(’show’)函数没有被调用,因为当我在crhome中插入模态元素时,类是模态隐藏淡入淡出而不是模态隐藏淡入淡出IN和其他属性保持不变。
一个可能的解决方案是从后面的代码中更改这些属性,我的意思是你可以从后面的代码中执行js所做的事情,可能不是最好的解决方案,但我没有做其他事情。 通过这样做,我得到了模式以显示背景灰色但无法使效果工作。
我在aspx页面中这样做:
What's new in this version
... rest of bootstrap modal stuff....
然后在代码隐藏中显示任何事件(如page.load或按钮单击)上的模式弹出窗口我只需更改Panel的CssClass:
MessagePanel.CssClass = "modal fade in"
不需要js或ScriptManager。