【发布时间】:2013-05-21 07:55:30
【问题描述】:
我将 coda 滑块放在用户控件(ascx 文件)中,它在测试页面上运行良好。
但是,当我将相同的用户控件放在基于母版页的测试页的内容占位符中时,它会停止正常工作。现在看来,javascript 函数无法正确识别 DIV 的 ID,因为它位于内容占位符内。我已经阅读了一些其他链接,但它们的情况似乎略有不同,我尝试使用 document.getElementById,但不确定我是否走在正确的轨道上,或者只是弄乱了语法。我也试过把 ct100_cpMC_ 放在 id 前面。
<%@ Page Title="TestPage - Test User Control" Language="C#" MasterPageFile="MasterPage.master" AutoEventWireup="true" CodeFile="TestPage.aspx.cs" Inherits="_TestPage" %>
<%@ Register Src="~/UserControls/WhatCustomersAreSaying.ascx" TagPrefix="uc1" TagName="WhatCustomersAreSaying" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
<link rel="stylesheet" type="text/css" media="screen" href="css/coda-slider.css" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="js/jquery.easing.1.3.js"></script>
<script src="js/jquery.coda-slider-3.0.min.js"></script>
<script>
$(function () {
$('#slider-id').codaSlider({
autoSlide:true,
autoHeight:false
});
});
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="cpMC" Runat="Server">
<uc1:WhatCustomersAreSaying runat="server" ID="WhatCustomersAreSaying" />
</asp:Content>
在我的用户控件内部是一个 ID 为“slider-id”的 DIV,javascript 函数需要找到它。
正如我之前提到的,我不确定是否需要使用 document.getElementById 以及如何使用,或者是否有一种更简单的方法,即在引号 $('#slider-id') 中为 ID 添加一些内容,以便 javascript 函数知道它要查找的 ID 在内容占位符中。
【问题讨论】:
-
试试
$("div[id*='slider-id']") -
这项技术对我不起作用,结果和以前一样。所有 div 的所有内容都显示出来了,基本上滑块没有正常工作。
-
运行你的aspx页面;在浏览器中检查源(CTRL+U);检查生成的滑块id; 真的
slider-id吗? -
我查了来源,就是ID。让我们从一个清单开始:页面中是否有任何 JavaScript 错误?文档就绪功能是否触发?
document.get.elementById('')是否返回undefined?
标签: javascript asp.net user-controls contentplaceholder coda-slider