2012-03-20 10 views
3

MVCパーシャルビューを使用してダイアログを作成するHTMLマークアップを検討してください。 selectedMemberがviewmodelに設定されると、ダイアログが表示され、openDialogイベントが呼び出され、Jqueryダイアログ( "open")が呼び出されます。ノックアウトafterRenderがネイティブテンプレートで起動しない

私はダイアログが動的に作成されているので、控えめな検証が行われるように、afterRenderイベントを使用します。しかし、afterRender関数は呼び出されませんか?

<div id="dlgAddMember" class="hidden" data-bind="with: selectedMember, openDialog: selectedMember, afterRender:hookupValidation"> 
     @Html.Action(ekmMvc.People.AddMemberDialog()) 
</div> 

これはなぜ動作しないのですか?これは、Jqueryテンプレートエンジンを使用して正常に動作していたようです。それは匿名のテンプレートを使用します、あなたはテンプレートの名前を指定しない場合は

data-bind="template: { data: selectedMember, if: selectedMember, afterRender: hookupValidation }" 

答えて

5

あなたは次のように指定する必要があります。したがって、これはafterRenderを持つwithに相当します。

+0

こんにちはありがとう、私はまだ "openDialog:selectedMember" selectedMemberがnullに設定されているバインドすることができません。 $(element).dialog( "open")を呼び出すカスタムバインディングです。私は、1)div内のダイアログを作成し、2)それを開き、3)検証に接続できるようにする必要があります。これで苦労する... – jaffa

+0

jsFiddleに何かを置くことができますか? –

+0

既存のフィドルにリンクがあるかどうか知っていますか?私はいつもゼロからビルドすることが難しいと思っています... – jaffa

関連する問題