2013-02-17 60 views
0

嗨我有我的MVC應用程序的問題。 我想點擊ActionLink>從服務器加載數據>並在同一頁面插入數據到div。 但我的代碼仍然在新頁面上加載內容,我不知道爲什麼。有人幫助我?代碼仍然加載新頁面上的內容

這是我在Index.cshtml HomeController中,

@model IEnumerable<Kango_kmen.KangoKmenWS.WSEntityInfo> 
    @Content.Script("jquery-1.9.1.min.js", Url) 
    @Content.Script("jquery.unobtrusive-ajax.min.js",Url) 
    @Content.Script("jquery.unobtrusive-ajax.js",Url) 
    @Content.Script("myScript.js",Url) 

    @section Entities{ 


    <table> 
    <tr> 
    <th> 
     <input type="submit" value="zobrazit" /> 
    </th> 
    <th> 
     iD 
    </th> 
    <th> 
     name 
    </th> 

    </tr> 

    @foreach (var item in Model) { 
    <tr> 
    <td> 
    @Ajax.ActionLink("..", "CheckEntity", new { id = item.iD }, 
      new AjaxOptions{ UpdateTargetId="properties", 
          HttpMethod="GET", 
          InsertionMode=InsertionMode.InsertAfter, 
      }) 
    </td> 
    <td>    
     @Html.DisplayFor(modelItem => item.iD) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.name) 
    </td> 

    </tr> 
    <tr> 
    <td> 
     <div id="properties"> 

     </div> 
    </td> 
    </tr> 
    } 
    </table> 
    } 


    @section PropertyInfo{ 
    <p>Property info</p> 
    } 

    @section Properties{ 
    <p>properties</p> 
    } 

這裏是我的HomeController

public PartialViewResult CheckEntity(int id) 
    { 

     var model = WSConnect.getEntityInfo(id); 
     if(model !=null){ 
      return PartialView("CheckEntity", model.property); 
     } 
     var modell = new WSEntityInfo[0]; 
     return PartialView("CheckEntity", modell); 
    } 

控制器和ChecktEntity是局部視圖,但每次我點擊ActionLink的控制器負載網址: /首頁/ ChceckEntity/1000用於查看此新頁面上的數據「(

回答

2

代碼有兩個錯誤:

  1. 您已包含jquery.unobtrusive-ajax.js腳本兩次,一次是縮小版本,一次是標準版本。您應該只包括一次
  2. jquery.unobtrusive-ajax.js不兼容with jquery 1.9.1因爲jQuery 1.9中的突破性變化之一是.live() method was removedjquery.unobtrusive-ajax.js腳本依賴它。如果你看看你的JavaScript控制檯,你會看到以下錯誤:The .live method is undefined.。所以如果你想在ASP.NET MVC中使用不顯眼的AJAX功能,你必須降級jQuery的版本。例如1.8.3版本應該沒問題。

所以:

@model IEnumerable<Kango_kmen.KangoKmenWS.WSEntityInfo> 
@Content.Script("jquery-1.8.3.min.js", Url) 
@Content.Script("jquery.unobtrusive-ajax.min.js", Url) 
@Content.Script("myScript.js", Url) 

也請學會如何調試JavaScript代碼。使用FireBug或Chrome開發人員工具欄等工具顯示所有這些錯誤。

+0

非常感謝!問題解決:) – user2080814 2013-02-17 18:31:17

相關問題