2011-07-10 85 views
0

我想要在用戶單擊索引頁上的「添加新」按鈕時呈現視圖。我在處理Create post的控制器中有一個Action。這裏的問題是,我無法加載視圖。當我點擊「添加新的」按鈕時,沒有任何反應。有人能指出我在這裏錯過了什麼嗎?無法在模型彈出窗口中打開視圖mvc 3

這是我的索引視圖的樣子:

<script type="text/javascript"> 

    $(function() { 
     $('#dialog').dialog({ 
      autoOpen: false, 
      width: 400, 
      resizable: false, 
      title: 'Add New Item', 
      modal: true, 
      open: function (event, ui) { 
       $(this).load('@Url.Action("Country/Create")'); 
      }, 
      buttons: { 
       "Close": function() { 
        $(this).dialog("close"); 
       } 
      } 
     }); 

     $('#AddNew').click(function() { 
      alert('Hello'); 
      $('#dialog').dialog('open'); 
     }); 
    }); 
</script> 

<button id="AddNew" type="button">Add New</button> 

<div id="dialog" style="overflow: hidden;"> 

</div> 

腳本引用:

<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.11.min.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script> 

Layout.cshtml

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8" /> 
    <title>@ViewBag.Title</title> 


    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" /> 

    <script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/jquery-ui-1.8.11.min.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script> 


</head> 

<body> 
    @RenderBody() 
</body> 
</html> 

--Solution--

我錯過了jquery。 ui.all.css參考。

<link href="@Url.Content("~/Content/themes/base/jquery.ui.all.css")" rel="stylesheet" type="text/css" /> 
+0

可能是您爲Url.Action helper提供控制器和操作的方式...... Country/Create..try將其分成兩個參數。你也可能不想發佈你的路由配置。同時檢查Firebug當你點擊按鈕時會發生什麼。 – mare

+0

@Asdfg:你的控制器動作是否被調用?你在Firebug中看到了什麼? –

+0

我在firebug中看到一個錯誤,說$(「#dialog」)。dialog不是函數。 – Asdfg

回答

0

嘗試把你的Javascript code between

$(document).ready(function() { 
... 
}); 
+0

沒有運氣。不知何故,我不知道爲什麼,但國家/創建執行後加載JS文件。我可以在Firebug中看到。不知道爲什麼這樣做,或者如果那是問題。 – Asdfg

+0

我敢打賭,你的腳本引用是在主或佈局頁面文件中,並在它的結尾? – mare

+0

他們在佈局文件中。我用佈局視圖更新了這個問題。 – Asdfg

0
I **think** your file order is wrong 

jquery-1.5.1.min.js 
jquery-ui-1.8.11.min.js 

now other files 

-------------我想你的URL格式也是錯誤---------

@Url.Action("Action","Cortoller"); 
@Url.Action("Create","Country"); 
$(this).load('@Url.Action("Create","Country")'); 
+0

讓我知道,作品與否? –

+0

它的工作。謝謝您的幫助。我仍然面臨不打開彈出窗口的問題。它只是在索引頁面上呈現。沒有彈出窗口。 – Asdfg

+0

警報正在工作?如果沒有,那麼你的dialog.open()沒有被調用 – mare

相關問題