3

考虑一些使用 MVC 局部视图创建对话框的 HTML 标记。在视图模型上设置 selectedMember 时,将填充对话框并调用 openDialog 事件,该事件调用 Jquery 对话框(“打开”)。

我使用 afterRender 事件来确保不显眼的验证工作,因为对话框是动态创建的。然而 afterRender 函数从未被调用?

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

有谁知道为什么这不起作用。使用 Jquery 模板引擎似乎可以正常工作。

4

1 回答 1

5

您需要像这样指定它:

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

当您没有为模板指定名称时,它将使用匿名模板。因此,这相当于with使用 afterRender。

于 2012-03-20T15:39:36.400 回答