我有一个转发器控件,它将我们的合作伙伴名称显示为链接按钮,当单击链接按钮时,我需要显示一个引导模式以显示所单击的合作伙伴详细信息,我从sql server获取合作伙伴详细信息并将它们绑定到模态ItemCommand函数中的转发器。我的问题是模态没有显示出来:(在consol中没有出现错误。
请任何人可以帮助我吗?为什么Modal没有显示我的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#代码
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 :(得分:0)
我的页面中没有看到“lnkdetail”。我想这是一个LinkButton。 无论如何,你可以使用或代替以避免回发。 在转发器控制之后,将您的javascript代码移动到页面底部。并在repeater_Itemcommand中删除此行ScriptManager.RegisterStartupScript(this,this.GetType(),“Pop”,“showModal();”,true);