2012-08-23 87 views
0

我開發一個Asp.net MVC3網站從VS2012RC。我正在嘗試使用Ajax Actionlink爲網站創建一個局部視圖。但它不起作用。在嘗試瞭解我的團隊和大量搜索的所有知識之後,我在TestProject上嘗試了它。我的進一步抑鬱症,這也是行不通的。我試圖解決這個問題很長一段時間,現在我打電話給SO。Ajax.ActionLink在MVC3不工作

這是我創造了我的測試項目。請讓我知道我是否犯了錯誤,或者這是我的機器故障。

  1. 我用html5語義標記和Razor的視圖引擎創建了一個MVC3空項目。
  2. 然後,我添加了一個家庭控制器到我的項目,並創建一個View()操作的視圖。
  3. 然後我創建了另一個動作TestAjax()。
  4. 然後,我創建的主文件夾中瀏覽文件夾 一個局部視圖。

這是我的索引視圖:

@{ 
    ViewBag.Title = "Index"; 
    } 

    <div> 
    @Ajax.ActionLink("This is a test ajax","testAjax",new AjaxOptions{ UpdateTargetId =          "TestAjax" ,HttpMethod ="GET",InsertionMode =InsertionMode.InsertAfter}) 

    </div> 

    <div id ="TestAjax"> 
    </div> 

局部視圖:

<h1>Testing testing testing testing</h1> 

現在我想到的是,當我點擊鏈接標題竟出現在下面的鏈接TestAjax分部。但實際發生的情況是在主頁上出現鏈接。當我點擊鏈接時,它會轉到「/ Home/testAjax」並只顯示部分視圖。沒有局部視圖。

你能告訴我什麼是錯了此過程。

編輯:

<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.6.2.min.js")" type="text/javascript">   </script> 
<script src="@Url.Content("~/Scripts/modernizr-2.0.6-development-only.js")" type="text/javascript"></script> 
<script src="@Url.Content(" ~/Scripts/jquery.unobtrusive-ajax.js")" type = "text/javascript"> </script> 
</head> 

當我檢查的資源,在視圖索引()的網頁:

<a href="/Home/TestAjax" onclick="Sys.Mvc.AsyncHyperlink.handleClick(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.insertAfter, httpMethod: 'GET', updateTargetId: 'TestAjax' });">This is a test ajax</a> 
+1

點擊鏈接會發生什麼?你是否在佈局/視圖中引用了''〜/ /scripts/jquery.unobtrusive-ajax.js''js文件?因爲這個js文件是'Ajax.ActionLink'和'Ajax.BeginForm'正確工作所必需的。 – nemesv

+0

啊對不起!!!它只會顯示部分視圖。我不好意思回答這個問題。 –

+0

好的,謝謝,我現在就試試。 –

回答

0

引用的~/Scripts/jquery.unobtrusive-ajax.js js文件是不是在我的佈局/視圖。因爲我不熟悉ajax。所以,那些對MVC中的ajax不熟悉並且通過谷歌搜索來到這裏的人,首先檢查上面提到的這個參考是在你的佈局/視圖中。