2011-08-03 8 views
0

ASP.NET MVC 3アプリケーションでは、ページに表示する必要があるデータがありますが、すべてのデータがすべてのページでユーザーによって使用されるわけではありませんビューには、空のdivがページに追加されています。ユーザーがdivの上のタイトルをクリックすると、AJAXリクエストを介して適切なデータがロードされます。ASP.NET MVCクリック後のAjaxリンクの無効化

例:

<h3>@Ajax.ActionLink("Contact Information", 
        "ContactInformation", 
        "Customer", 
        new { id = Model.Id}, 
        new AjaxOptions { UpdateTargetId = "ContactInformationContainer" })</h3> 
<div id="ContactInformationContainer"></div> 

上記のコードの問題は、リンクがクリックされるたびに、データが再ロードされていることです。クリック後にリンクやテキストを表示できるようにするにはどうすればよいのですか。後続のクリックは別のAJAXリクエストを送信しません。あなたはAjaxOptionsイベントOnBeginOnCompleteにjavascriptのハンドラを追加する必要が

おかげ

答えて

0

。タブがロードされたときにフラグを設定するか(、たとえばOnComplete)、ロードされたリンクのリストを維持します。現在のページのリンク状態を維持するために何かが必要です。リンクがロードされる前に、リンクが以前にロードされていた場合はOnBeginにfalseを返します。

+1

対象のdivにHTMLが読み込まれているかどうかを確認することについての考えはありますか?何かしないでください。 –

+0

Nick - これは、意図された用途のために動作すると仮定して状態を管理する別の方法です。 AJAXがロードされたコンテンツは、既存のDOMコンテンツ(プレースホルダテキストなど)を置き換えて機能しないことがあります。 – SliverNinja

関連する問題