ASP.net DropDownList内部模态引导程序

时间:2013-12-05 00:19:03

标签: asp.net vb.net twitter-bootstrap drop-down-menu modal-dialog

我在这里有问题,在我的模态窗口中得到了DropDownList,如下所示

<div class="modal-body">
  <div class="row">
     <div class="col-lg-8">
        <div class="form-horizontal" role="form">
          <div class="form-group that">
              <asp:Label ID="lblBrand" CssClass="col-sm-2 this" runat="server">Brand</asp:Label>
              <div class="col-sm-5">
                  <asp:DropDownList BackColor="#FFFFFF" CssClass="ddl" runat="server" ID="dropDownListVendor" DataValueField="brandID" DataTextField="brandName" AutoPostBack="true">
                       <asp:ListItem Selected="True" Text="Choose a Brand..">
                  </asp:DropDownList>

当我在DropDownList中选择项目时,Modal窗口将自动关闭。 如何防止这种情况?

2 个答案:

答案 0 :(得分:0)

DropDownList配置为AutoPostBack="true"

结果,只要DropDownList的选择发生变化,页面就会回发到服务器。

如果您不希望DropDownList回发到服务器,请设置AutoPostBack="false"

除此之外,没有足够的信息来回答您的问题。

答案 1 :(得分:0)

如果您使用UpdatePanels

,则可以使用AutoPostBack="true"

请找到以下示例:

(我使用2个UpdatePanel进行演示)

Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim sb As New System.Text.StringBuilder()
    sb.Append("<script type='text/javascript'>")
    sb.Append("$('#Div1').modal('show');")
    sb.Append("</script>")
    ScriptManager.RegisterClientScriptBlock(Me, Me.[GetType](), "RunModalScript", sb.ToString(), False)
End Sub

 <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <Triggers>
            </Triggers>
            <ContentTemplate>
                <asp:Button ID="Button1"
                    runat="server"
                    CssClass="btn btn-primary"
                    Text="Open" />
            </ContentTemplate>
        </asp:UpdatePanel>

        <div class="modal fade" id="Div1" data-backdrop="static">
            <div class="modal-dialog">
                <div class="modal-content">
                    <div class="modal-body">

                        <asp:UpdatePanel ID="UpdatePanel2" runat="server">
                            <Triggers>
                            </Triggers>
                            <ContentTemplate>

                                <div class="modal-header">
                                    <asp:DropDownList ID="test" AutoPostBack="true" runat="server">
                                        <asp:ListItem Text="Item 1"></asp:ListItem>
                                        <asp:ListItem Text="Item 2"></asp:ListItem>
                                        <asp:ListItem Text="Item 3"></asp:ListItem>
                                    </asp:DropDownList>
                            </ContentTemplate>
                        </asp:UpdatePanel>

                    </div>
                </div>
            </div>
        </div>

在我的应用程序中,当用户从列表中选择一个选项时,我不得不做额外的事情。

还要确保第二个UpdatePanel位于<div class="modal-body">内, UpdatePanel阻止页面刷新(并隐藏模态)。

这是一个老问题,但这是我遇到的最近一个问题,我想分享我的解决方案。

最诚挚的问候。