2010-12-05 11 views
0

ASP.Net MVCページでjQuery AJAX呼び出しを実行しようとしています。私は私のデバッガでコールバック関数を実行し、javascriptが実行されていることを確認できますが、更新されません。ASP.Net MVCでjQuery .loadが動作しない

<asp:Content ID="Content2" ContentPlaceHolderID="MenuContent" runat="server"> 

<% Html.RenderPartial("homeMenu"); %> 

<script type="text/javascript"> 
    InitHomeMenu('homeMenu', function (menuItem) { 
     var id = menuItem.attr('id'); 
     if (id = 'menuMission') { 
      $('homeContent').load('Home/Mission'); 
     } 
     else if (id = 'menuSuggestions') { 
      $('homeContent').load('Home/Suggestions'); 
     } 

    }); 
</script> 
</asp:Content> 
<asp:Content ID="Content3" ContentPlaceHolderID="MainContent" runat="server"> 
    <div id="homeContent"> 
     <% string control = ViewData["Control"] != null ? ViewData["Control"].ToString() : "Mission"; 
     Html.RenderPartial(control); %> 
    </div> 
</asp:Content> 

$('homeContent').load()への呼び出しが機能しています。データがあることを確認できますが、divは更新されません。

$('#homeContent').load('Home/Mission'); 

それはクラスの場合は、期間を前に付け:

$('.homeContent').load('Home/Mission'); 

jQueryのは、CSSを使用していますhomeContentあなたはハッシュを前に付けする必要がdiv要素のIDであると仮定すると

答えて

3

はおかげで、それがIDです

if (id == 'menuMission') 
+0

ありがとう、そして記録のために、私はDavidが示唆したように#記号を戻さなければなりませんでした。 – Steve

+0

ああええ - よく気づいた! –

+0

私はそのミスを2回以上自分で作っています... – Sparky

5

セレクタ。

-

あなたのAJAX呼び出しが失敗している場合、それは(あなたがサーバーからのエラー500を取得される可能性がありますので、静かに行います、これは、AJAXに隠されている、あなたがフルにエラーデリゲートをフックアップしない限り、呼び出し、 .ajax JQueryメソッド)。

Fiddlerなどを使用して、サーバーからデータが返されていることを確認します。

+0

と==

if (id = 'menuMission') 

で=を交換してみてください。私はハッシュを使い始めて、もう一度やり直してから、 'homeContent'をクラスに変更し、その期間を試しました。それは動作しません。 JavaScriptはエラーなしで実行されます。 – Steve

+0

あなたはまだサーバーのエラーを取得している可能性があります、スクリプトはそれをスローしません。 Fiddler2のようなものを使ってWebトラフィックを監視して、データが返されていることを確認してください。 –

関連する問題