0

こんにちはMVCアプリケーションに問題があります。ActionLink>サーバーからデータをロード>をクリックし、同じページのdivにデータを挿入したいと思います。しかし、私のコードはまだ新しいページにコンテンツをロードしていて、その理由がわかりません。私を助けてくれる人はいますか?

これはHomeControllerの私のIndex.cshtmlです。

    @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コントローラーのロードURLをクリックするたびに、この新しいページのビューデータの例として/ Home / ChceckEntity / 1000 "(

4

1 に答える 1

2

コードには2つの問題があります。

  1. スクリプトを2回インクルードしましjquery.unobtrusive-ajax.jsた。1回は縮小バージョン、もう1回は標準バージョンです。一度だけ含める必要があります
  2. jQuery 1.9の重大な変更の1つは、メソッドが削除され、スクリプトがそれに依存しているため、は互換性がjquery.unobtrusive-ajax.jsありません。javascriptコンソールを見ると、次のエラーが表示されます。したがって、ASP.NET MVCで目立たないAJAX機能を使用する場合は、jQueryのバージョンをダウングレードする必要があります。たとえば、バージョンは問題ないはずです。with jquery 1.9.1.live()jquery.unobtrusive-ajax.jsThe .live method is undefined.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開発者ツールバーなどのツールを使用してください。

于 2013-02-17T18:13:19.010 に答える