2017-11-16 5 views
0

Ich habe ein Repeater-Steuerelement, das unsere Partner Namen als Link-Schaltfläche anzeigt, wenn ich auf eine Link-Schaltfläche klicken muss ich ein Bootstrap-modal zeigen die angeklickte Partner-Details, ich hole den Partner Details von SQL-Server und binden sie an den Modal-Repeater in der ItemCommand-Funktion. Mein Problem ist, dass die modale nicht auftaucht :(gibt es keine Fehler in der Konsole erscheinen.Popup Modale Javascript Funktion funktioniert nicht in ItemCommand Funktion

bitte jemand mir helfen kann? Warum die Modal nicht angezeigt gibt es einen Fehler in meinem Javascript-Code?

 <%@ Page Language="C#" AutoEventWireup="true" MasterPageFile="~/Site.Master" CodeBehind="Partners.aspx.cs" Inherits="MyAPP.AR.Parteners" %> 

    <asp:Content ID="DefaultContent" ContentPlaceHolderID="MainContent" runat="server"> 



    <script src="../Scripts/jquery-1.9.1.min.js"></script> 
    <script src="../Scripts/jquery-1.9.1.js"></script> 

    <script src="../Scripts/bootstrap.min.js"></script> 
    <script src="../Scripts/bootstrap.js"></script> 

    <link href="../Content/bootstrap.css" rel="stylesheet" /> 
    <link href="../Content/SiteStyle.css" rel="stylesheet" /> 
     <script type="text/javascript"> 
     function showModal() { 
      $("#PModal").modal('show'); 
     } 

     $(function() { 
      $("#lnkdetail").click(function() { 
       showModal(); 
      }); 
     }); 
    </script> 


    <form runat ="server" > 


    <p><strong> Our Partners </strong></p> 
    <div class="panel-group" id="Parteners_accordion"> 
    <div class="panel panel-default"> 
     <div class="panel-heading"> 
     <h4 class="panel-title"> 
      <a data-toggle="collapse" data-parent="#Parteners_accordion" href="#collapse1">Local Partners </a> 
     </h4> 
     </div> 
     <div id="collapse1" class="panel-collapse collapse in"> 
     <div class="panel-body"> 
     <asp:Repeater runat ="server" ID="LocalPartners_rptr" OnItemCommand="Localrptr_ItemCommand" >    
     <ItemTemplate> 
         <div > 
     <asp:LinkButton runat="server" CommandName="Show" 
      CommandArgument='<%#Eval("Id") %>' ><%#Eval("Name") %> asp:LinkButton>   
      </div> 
      <br /> 
     </ItemTemplate> 

     </asp:Repeater> 
     </div> 
     </div> 
    </div> 


     <div class="panel panel-default"> 
     <div class="panel-heading"> 
     <h4 class="panel-title"> 
      <a data-toggle="collapse" data-parent="#accordion" href="#collapse2">Glopal Partners</a> 
     </h4> 
     </div> 
     <div id="collapse2" class="panel-collapse collapse"> 
     <div class="panel-body"></div> 
     </div> 
    </div> 
    </div> 
    </form> 
    <div id="PModal" class="modal fade" role="dialog"> 
    <div class="modal-dialog"> 
    <!-- Modal content--> 
     <div class="modal-content"> 
     <asp:Repeater ID="LocalPartnerInfo_rptr" runat="server" > 
     <ItemTemplate> 

     <div class="modal-header"> 
        <button type="button" class="close" data-dismiss="modal">&times; 
      </button> 
       <h4 class="modal-title"><%#Eval("Name") %></h4> 
       </div> 
       <div class="modal-body" style="color :#000000;"> 
       <div class="container-fluid"> 

       <div class="row"> 
        <div class="col-md-8"><%#Eval("Descreption")%></div> 
        <div class="col-md-4">Logo</div> 
        </div> 
       <div class="row"> 
       <div class="col-md-4">Empty</div> 
       <div class="col-md-4"><%#Eval("WebsiteLink")%></div> 
       <div class="col-md-4">Empty</div> 
       </div> 

       </div> 

       </div> 
        </ItemTemplate> 
        </asp:Repeater> 
       <div class="modal-footer"> 
       <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
       </div> 
      </div> 

      </div> 
     </div> 
    </asp:Content> 

C# -Code

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Data; 
using System.Data.SqlClient; 
using System.Configuration; 


    namespace MyAPP.AR 
    { 
    public partial class Parteners : System.Web.UI.Page 
    { 

    int partnerId = 0; 

    protected void Page_Load(object sender, EventArgs e) 
    { 

     if (!IsPostBack) 
     { 

      BindLocalPartners_Repeater(); 

     } 




    } 


    private void BindLocalPartners_Repeater() 
    { 

     String ConnStr = ConfigurationManager.ConnectionStrings["PalDRM_DB"].ConnectionString; 
     SqlConnection cnn = new SqlConnection(ConnStr); 
     cnn.Open(); 
     SqlCommand cmd = new SqlCommand("SELECT [Id],[Name],[Descreption],[LogoUrl],[WebsiteLink] FROM Partners where [Type]='local' ", cnn); 
     SqlDataReader dr = cmd.ExecuteReader(); 
     LocalPartners_rptr.DataSource = dr; 
     LocalPartners_rptr.DataBind(); 
     cnn.Close(); 



    } 






    protected void Localrptr_ItemCommand(object source, RepeaterCommandEventArgs e) 
    { 
     //HiddenField IdField = (HiddenField)e.Item.FindControl("LocalPartner_Id"); 

     // partnerId = Convert.ToInt32(IdField.Value); 


     if (e.CommandName == "Show") 
     { 
      LinkButton btndetails = (LinkButton)e.CommandSource; 

      int Id = Convert.ToInt32(btndetails.CommandArgument.ToString()); 

      String ConnStr = ConfigurationManager.ConnectionStrings["PalDRM_DB"].ConnectionString; 
      SqlConnection cnn = new SqlConnection(ConnStr); 
      cnn.Open(); 
      SqlCommand cmd = new SqlCommand("SELECT [Name],[Descreption],[LogoUrl],[WebsiteLink] FROM Partners where [Id]=" + Id + "", cnn); 
      SqlDataReader dr = cmd.ExecuteReader(); 
      LocalPartnerInfo_rptr.DataSource = dr; 
      LocalPartnerInfo_rptr.DataBind(); 
      cnn.Close(); 
      //ClientScript.RegisterStartupScript(this.GetType(), "Pop", "showModal();", true); 

      ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "showModal();", true); 

     } 

    } 





    } 
} 
+0

Bitte jede Hilfe wird geschätzt – user

Antwort

0

ich sehe nicht, „lnkdetail“ auf Ihrer Seite. ich nehme an, es ist ein Linkbutton. Wie dem auch sei, könnten Sie oder verwenden Sie stattdessen um Postbacks zu vermeiden. Bewegen Sie Ihren JavaScript-Code am Ende der Seite nach Repeater-Steuerelement. Und im Repeater_Item-Befehl entfernen Sie diese Zeile ScriptManager.RegisterStartupScript (this, this.GetType(), "Pop", "showModal();", true);

Verwandte Themen