2017-11-16 14 views
0

私は、リンクボタンをクリックするとパートナー名を表示するリピータコントロールを持っています。クリックしたパートナーの詳細を表示するためにブートストラップモーダルを表示する必要があります。 SQL Serverの詳細を参照して、ItemCommand関数のModalリピーターにバインドします。私の問題は、モーダルは、エラーがコンソルには表示されませんがある:(現れなかったということである。ポップアップモーダルのjavascript関数がItemCommand関数内で動作しない

くださいモーダルが表示されない理由いずれかが?私を助けることができる私のjavascriptのコードに誤りがありますか?

 <%@ 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#コード

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

ありがとうございます。 – user

答えて

0

に私はあなたのページに「lnkdetail」を参照してくださいしないでください。私はそれがLinkBut​​tonコントロールだと仮定します。 とにかく、あなたが使用したり、代わりにポストバックを避けるために可能性があります。 リピータの制御後、ページの下部にJavaScriptコードを移動します。また、repeater_Itemコマンドでこの行を削除します。ScriptManager.RegisterStartupScript(this、this.GetType()、 "Pop"、 "showModal();");

関連する問題