【发布时间】:2011-11-21 11:26:59
【问题描述】:
我想从带有母版页的 asp.net 页面打开一个 jQuery UI 对话框。在母版页中的页面中,代码工作正常,但母版页不起作用。
代码是:
<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/privado/master/interior.master" CodeBehind="WebForm3.aspx.vb" Inherits="ProyectoDemo.WebForm3" %>
<asp:Content ID="Content1" ContentPlaceHolderID="headInterior" runat="server">
<link type="text/css" href="Styles/jquery-ui-1.8.16.custom.css" rel="stylesheet" />
<link href="Styles/addhunters.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="js/jquery-ui- 1.8.16.custom.min.js"></script>
<style type="text/css">
/*demo page css*/
body{ font: 62.5% "Trebuchet MS", sans-serif; margin: 50px;}
.demoHeaders { margin-top: 2em; }
#dialog_link {padding: .4em 1em .4em 20px;text-decoration: none;position: relative;}
#dialog_link span.ui-icon {margin: 0 5px 0 0;position: absolute;left: .2em;top: 50%;margin-top: -8px;}
ul#icons {margin: 0; padding: 0;}
ul#icons li {margin: 2px; position: relative; padding: 4px 0; cursor: pointer; float: left; list-style: none;}
ul#icons span.ui-icon {float: left; margin: 0 4px;}
</style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="contenidoInterior" runat="server">
<script type="text/javascript">
$(function () {
// Dialog
$('#dialog').dialog({
autoOpen: false,
width: 600,
height: 400,
buttons: {
"Ok": function () {
$(this).dialog("close");
},
"Cancelar": function () {
$(this).dialog("close");
}
}
});
// Dialog Link
$('#Boton').click(function () {
$('#dialog').dialog('open');
return false;
});
});
</script>
<div id="uno">
<h2 class="demoHeaders">Dialog</h2>
<asp:TextBox ID="TextBox1" runat="server" Text="prueba" ></asp:TextBox>
<p><a href="#" id="dialog_link" class="ui-state-default ui-corner-all"><span class="ui-icon ui-icon-newwin"></span>Open Dialog</a></p>
<asp:LinkButton ID="Boton" runat="server">LinkButton</asp:LinkButton>
<asp:Button ID="Button1" runat="server" Text="Button" />
<!-- ui-dialog -->
<div id="dialog" title="Dialog Title">
<p>Dialog text</p>
</div>
</div>
我认为问题在于如何在占位符中引用“对话框”。我尝试了几种方法,但我没有找到解决方案。
有人知道如何解决这个问题吗?
提前谢谢你!
哈维尔
【问题讨论】:
-
能否把页面的输出放到jsfiddle.net
-
您确定没有在母版页中加载 jQuery 吗?然而,你必须将你的
$(function...包装在一个$(document).ready(...调用中,所以 jQuery 只会在所有页面 dom 都正常时调用它。 -
我在母版页中有这段代码
-
您需要从页面中删除 - 只允许一个 jQuery输出
-
所以你加载 jQuery 两次...取决于你需要什么,如果你需要 jquery 用于使用你的母版页的所有页面,然后删除子级 jQuery 的加载并将其留在主控.但如果这是唯一使用 jQuery 的子页面,则从主页面移除 jQuery 的加载。
标签: javascript jquery asp.net dialog