2009-08-11 42 views
0

Jqueryタブに問題があります。私のMVCページには、部分ページ(.ascx)を返すフォームがあります。このページにはJqueryのタブがあり、タブがないタブのコンテンツはすべて表示されます。それはときに「#tabs」はページ上に存在しないので、私はメインページでこれを入れてみましたが、私はエラーを取得MVCユーザーコントロールのJqueryタブ

<script type="text/javascript"> 
    $(function() { $("#tabs").tabs(); }); 
</script> 

、タブ用のコードが実行されないjavascriptの部分のページのように見えます最初にロードされます。

これを機能させるためのアイデアはありますか?

答えて

1

あなたはAJAX経由でパーツをロードしていますか?その場合は、ページの代わりにAJAXコールバックにタブを生成するコードを挿入します。 MSのAjaxヘルパーで

$('#tabContent').load('/controller/action', null, function() { 
    $('#tabs').tabs(); 
}); 

<% using (Ajax.BeginForm("Action", new AjaxOptions { ..., OnSuccess = "doTabs", ...})) %> 

<script type="text/javascript"> 
    function doTabs() { 
     $('#tabs').tabs(); 
    } 
</script> 
+0

私はあなたがAjaxOptionsで指定された成功コールバックでタブ()関数を追加したいと思うでしょう、そして、Ajax.BeginForm –

+0

を使用しています。 – tvanfosson

+0

これは、Ajax.BeginFormがいくつかの異なるページを返すことができ、そのうちの1つだけにタブがある場合でも機能しますか? –