[英]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">×
</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. 我想这是一个LinkButton。 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.