从代码隐藏中打开Bootstrap Modal

Ser*_*gio 31 modal-dialog twitter-bootstrap

任何人都知道如何从代码后面打开一个Twitter bootstrap模式?

我想在保存时基于一些requeriment打开模态.像"嘿没有股票,拿起以下选项之一继续(丢弃,保留...)并按下该按钮(可能会继续回发)"

我正在使用ASP.NET Web表单.

wal*_*740 44

默认情况下,Bootstrap javascript文件包含在关闭正文标记之前

        <script src="vendors/jquery-1.9.1.min.js"></script>
        <script src="bootstrap/js/bootstrap.min.js"></script>
        <script src="vendors/easypiechart/jquery.easy-pie-chart.js"></script>
        <script src="assets/scripts.js"></script>
 </body>
Run Code Online (Sandbox Code Playgroud)

我把这些javascript文件放在body标签之前的head部分,我写了一个小函数来调用模态弹出窗口:

    <script src="vendors/jquery-1.9.1.min.js"></script>
    <script src="bootstrap/js/bootstrap.min.js"></script>
    <script src="vendors/easypiechart/jquery.easy-pie-chart.js"></script>
    <script src="assets/scripts.js"></script>

 <script type="text/javascript">
    function openModal() {
        $('#myModal').modal('show');
    }
</script>
</head>
<body>
Run Code Online (Sandbox Code Playgroud)

然后我可以通过以下代码调用代码隐藏的模态弹出窗口:

protected void lbEdit_Click(object sender, EventArgs e) {   
      ScriptManager.RegisterStartupScript(this,this.GetType(),"Pop", "openModal();", true);
}
Run Code Online (Sandbox Code Playgroud)


Ser*_*gio 22

最后我发现了阻止我从代码隐藏中显示模态的问题.人们必须认为这就像注册开放的客户端一样容易,例如:

ScriptManager.RegisterClientScriptBlock(this, this.GetType(),"none",
    "<script>$('#mymodal').modal('show');</script>", false);
Run Code Online (Sandbox Code Playgroud)

但这从来没有对我有用.

问题是,当模式在asp:Updatepanel,period期间,Twitter Bootstrap Modals脚本根本不起作用.模态的行为从每一方都失败,代码隐藏到客户端和客户端到代码隐藏(回发).它甚至可以防止在执行模式的任何js时回发,就像关闭按钮一样,你还需要处理一些服务器对象(对于一个肮脏的例子)

我已经通知了bootstrap工作人员,但他们回复了一个方便的"请给我们一个只有简单的html而不是asp的失败场景." 在我的城镇,这被称为......好吧,Bootstrap不支持任何更简单的HTML.没关系,在asp上使用它.

我认为他们至少看看他们在背景管理方面做了哪些不同的事情,我发现导致问题的主要部分,但......(只是提示那里)

所以有问题的人,请放下updatepanel试一试.


Ham*_*ebi 9

也许这个答案太晚了,但它很有用.
要做到这一点,我们有3个步骤:
1-在HTML中创建模态结构.
2-创建一个按钮,在java脚本中调用函数,打开模态并display:none在CSS中设置.
3-通过后面的代码中的函数调用此按钮.
您可以在下面的代码段中看到以下步骤:

HTML模式:

<div class="modal fade" id="myModal">
                <div class="modal-dialog">
                    <div class="modal-content">
                        <div class="modal-header">
                            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                                <span aria-hidden="true">&times;</span></button>
                            <h4 class="modal-title">
                                Registration done Successfully</h4>
                        </div>
                        <div class="modal-body">
                            <asp:Label ID="lblMessage" runat="server" />
                        </div>
                        <div class="modal-footer">
                            <button type="button" class="btn btn-default" data-dismiss="modal">
                                Close</button>
                            <button type="button" class="btn btn-primary">
                                Save changes</button>
                        </div>
                    </div>
                    <!-- /.modal-content -->
                </div>
                <!-- /.modal-dialog -->
            </div>
            <!-- /.modal -->  
Run Code Online (Sandbox Code Playgroud)

隐藏按钮:

<button type="button" style="display: none;" id="btnShowPopup" class="btn btn-primary btn-lg"
                data-toggle="modal" data-target="#myModal">
                Launch demo modal
            </button>    
Run Code Online (Sandbox Code Playgroud)

脚本代码:

<script type="text/javascript">
        function ShowPopup() {
            $("#btnShowPopup").click();
        }
    </script>  
Run Code Online (Sandbox Code Playgroud)

代码背后:

protected void Page_Load(object sender, EventArgs e)
{
    ClientScript.RegisterStartupScript(this.GetType(), "alert", "ShowPopup();", true);
    this.lblMessage.Text = "Your Registration is done successfully. Our team will contact you shotly";
}  
Run Code Online (Sandbox Code Playgroud)

这个解决方案是我使用它的任何解决方案之一.