0

獲取啓動模式打開所以我的問題是,我有一個Asp.net下拉列表控件的名稱列表,最後一個選項打開模式選擇添加新名字。我目前顯示並隱藏一個div,但我正在將我的應用程序轉換爲bootstrap,而且我似乎無法獲得引導模式,因爲我願意。當Asp.net下拉列表項選擇

目前我的模態的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> 

我已經嘗試了一些東西和瘋狂e一些意見:

  • 這似乎是唯一的「選項」元素,因爲如果我嘗試使用鏈接或按鈕代替下拉選項,它工作得很好。所以一個選項的行爲不允許我做我正在嘗試的東西?
  • 我正在使用AutoPastBack =「true」,其中「覆蓋」了模式,但刪除它沒有任何影響。
+0

請不要使用「引導」標籤,使用「twitter-bootstrap」,因爲它意味着別的東西 – 2014-10-12 11:22:00

回答

0

我找到了解決方案。我讓自己變得比自己更難,而不是操縱DropDownList選項「添加聯繫人」我做了以下操作:

當用戶選擇添加聯繫人的最後一個選項時,我查看了值在我回發(請注意,我用的AutoPostBack =「真」),而如果選擇是「添加接觸點」選項,然後我做了以下內容:

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); 
    } 

所以希望這可以幫助任何人發現自己在相同的道路上...