2012-02-23 130 views
0

所以在我所有失败的尝试让jQueryUI工作,我试过这个例子here从jQueryUI网站下载主题后。MVC jqueryUI模式对话框

这里是我的代码看我的asp.net mvc页面上面的链接中的例子。

<link type="text/css" href="<%= Url.Content("~/Scripts/jquery-ui/css/smoothness/jquery-ui-1.8.17.custom.css")%>" rel="stylesheet" />  
<script type="text/javascript" src="<%= Url.Content("~/Scripts/jquery-ui/js/jquery-1.7.1.min.js")%>"></script> 
<script type="text/javascript" src="<%= Url.Content("~/Scripts/jquery-ui/js/jquery-ui-1.8.17.custom.min.js")%>"></script> 



<script> 

$('#dialog_link').click(function(){ 
    $('#Dialog').dialog('open'); 
    return false; 
}); 


</script> 

<p id="dialog_link">Open Dialog</p> 


<div id="Dialog" title="Dialog title!"> 
This content shown within dialog... 

</div> 

按F5后,我本来期望看到点击它会弹出一个模式对话框与[X]按钮将其关闭,并回到主窗口时,可点击文本。但是我能看到这是在页面加载,在一个普通的形式

screenshot of mvc application

,其中文本“打开对话框”不响应点击事件和所谓的“模态对话框”已经可见字符串和没有任何格式。那么jQueryUI的所有魔力去哪儿了?我的链接正确的脚本有问题吗? 完全失去。请帮忙..

编辑 这个完全相同的代码在纯html模式下工作在不同的文件。当我将这段代码复制到内容标记内的我的asp.net mvc页面时,我在非描述行处得到一个javascript错误!

+0

您在页面上看到的JavaScript错误是什么?我怀疑你的jQueryUI路径不正确。 – 2012-02-23 17:51:12

+0

根本没有javascript错误...路径是正确的。但是那些我应该链接的正确文件? – user20358 2012-02-23 17:51:57

+0

http://jqueryui.com/demos/dialog/教程是更好,最新;) – MikeSW 2012-02-23 18:01:56

回答

2

就采取 '开放' 你的$( '#对话')的对话( '开放')。你很好走。

编辑:添加此的jsfiddle与您的代码为例:

http://jsfiddle.net/DoomHamster/LhJsL/1/

而且,你不需要点击,没有默认点击事件的元素时,“返回false”。

编辑:从您的评论下面我怀疑你是第一个加载jQuery和jQueryUI的问题。尝试用以下内容替换脚本和css链接,以消除路径问题:

<link type="text/css" rel="Stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.17/themes/ui-lightness/jquery-ui.css" /> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.17/jquery-ui.min.js"></script> 
+0

点击事件不起作用。在应用样式 – user20358 2012-02-23 18:10:35

+0

@ user20358之后,对话框现在不可见,对话框在显示之前应该是不可见的。 .dialog()方法将使其可见。只要点击不工作,你是否在浏览器控制台中收到任何js错误?你的代码与你发布的代码有很大不同吗?因为在我的jsFiddle中使用该代码似乎工作。如果代码是相同的,我怀疑一个路径问题阻止你的js文件加载。 – 2012-02-23 20:00:55

+0

@ user20358查看我的编辑上面的测试,以确保您正在正确加载库。 – 2012-02-23 20:20:24

1

试试这个

$(function() 
{ 
    $('#dialog_link').click(function(){ 
    $('#Dialog').dialog(); 
    return false; 
    }); 
})