【问题标题】:Getting a Bootstrap Modal to open when Asp.net Drop Down List Item Selected选择 Asp.net 下拉列表项时打开引导模式
【发布时间】:2014-10-06 19:12:42
【问题描述】:

所以我的问题是我有一个带有名称列表的 Asp.net 下拉列表控件,最后一个选项在选择添加新名称时打开模式。我目前显示和隐藏一个 div,但我正在将我的应用程序转换为引导程序,我似乎无法让引导程序模式按我的意愿工作。

目前我的模态div如下:

<asp:Panel ID="AddPOCPanel" runat="server" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">...</asp:Panel>

在我的代码隐藏中,当我填充下拉列表时,我会根据引导 api 添加必要的属性:

var add = new ListItem("Add Point of Contact");
add.Attributes.Add("data-toggle","modal");
add.Attributes.Add("data-target","#AddPOCPanel");

这是我的 DropDownList 的签名:

 <asp:DropDownList ID="POC1DropDownList" runat="server" AutoPostBack="true" class="form-control" OnSelectedIndexChanged="POCDropDownList_SelectedIndexChanged">
                            </asp:DropDownList>

我尝试了很多方法并做了一些观察:

  • 这似乎是“选项”元素所独有的,因为如果我尝试使用链接或按钮代替下拉选项,它就可以正常工作。那么选项的行为是否不允许我做我正在尝试的事情?
  • 我正在使用 AutoPastBack="true",它会“覆盖”模式,但删除它没有任何效果。

【问题讨论】:

  • 请不要使用“bootstrap”标签,使用“twitter-bootstrap”,因为它意味着别的东西

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


【解决方案1】:

我找到了解决方案。我让自己变得比必要更困难,而不是为“添加联系点”操作 DropDownList 选项,我做了以下事情:

当用户选择添加联系人的最后一个选项时,我查看了回发中选择的值(注意我使用的是 AutoPostBack="true"),如果是“添加联系人”选项,那么我做了以下事情:

Page.ClientScript.RegisterStartupScript(this.GetType(), "ShowModal", "$('#AddPOCPanel').modal('show'); $('#MainContent_POC1DropDownList').val('');", false);

这是一个很好的解决方案,因为它适用于网络表单的行为,例如,如果使用验证器,您可以执行以下操作:

protected void SomeButton_Click(object sender, EventArgs e)
{
    if (Page.IsValid)
    {
        //Do work then...
        Page.ClientScript.RegisterStartupScript(this.GetType(), "HideModal", "$('#AddPOCPanel').modal('hide'); $('#MainContent_POC1DropDownList').val('');", true);
    }
    else
    {
        //Make sure modal stays open...
        Page.ClientScript.RegisterStartupScript(this.GetType(), "ShowModal", "$('#AddPOCPanel').modal('show'); $('#MainContent_POC1DropDownList').val('');", true);
    }

所以希望这可以帮助任何人发现自己在同一条道路上...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-18
    • 2015-12-22
    • 1970-01-01
    • 1970-01-01
    • 2019-09-06
    • 2014-11-28
    • 2015-05-18
    相关资源
    最近更新 更多