简体   繁体   English

显示弹出模态javascript函数在ItemCommand函数内部不起作用

[英]Show popup modal javascript function not working inside ItemCommand Function

I have a repeater control which displays our Partners Names as link button, when clicking a Link button I need to show a bootstrap modal to display the clicked Partner Details , I fetch the partner Details from sql server and bind them to the Modal repeater in the ItemCommand function . 我有一个转发器控件,该控件将“合作伙伴名称”显示为链接按钮,单击“链接”按钮时,我需要显示一个引导模式以显示单击的“合作伙伴详细信息”,我从sql server中获取合作伙伴详细信息,并将其绑定到ItemCommand函数。 My problem is that the modal didn't show Up :( there is no error appear in the consol . 我的问题是模态没有显示:( consol中没有出现错误。

please any one can help me ? 请任何人能帮助我吗? why the Modal not Showing up is there any error in my javascript code? 为什么模态不显示在我的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# Code 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);

        }

    }





  }
}

I don't see "lnkdetail" in your page. 我在您的页面中看不到“ lnkdetail”。 I suppose it's a LinkButton. 我想这是一个LinkBut​​ton。 Anyway, you could use or instead in order to avoid postback. 无论如何,您可以使用或代替以避免回发。 Move your javascript code at the bottom of the page after repeater control. 中继器控制后,将您的JavaScript代码移动到页面底部。 And in repeater_Itemcommand remove this line ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "showModal();", true); 然后在repeater_Itemcommand中删除此行ScriptManager.RegisterStartupScript(this,this.GetType(),“ Pop”,“ showModal();”,true);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM