我有一些EditorFor视图,需要渲染一个包含表单和输入控件的弹出div。不幸的是,这可能导致嵌套表单。我希望EditorFor视图在这些情况下渲染javascript,以确保它们被移出任何形式,它们可能已被渲染到内部,方法是将它们附加到正文的末尾。在一个这样的编辑器中,我有以下内容:
<script type="text/javascript">
$(document).ready(function() {
$(body).append($('#MyPopupDivContainingAForm'));
});
</script>
不幸的是,即使删除了此代码,表单也会神奇地消失。在初始页面渲染之后,我检查了DOM,并且所有嵌套的表单元素都不存在。它们的内容存在,但包装形式标签不存在。因此,我的预期解决方案失败了。当我查看页面源时,表单标签确实存在。他们只是被从DOM中删除。我不确切知道什么是删除表单元素。我正在使用不引人注目的验证。
有没有人对如何实现我的需求有任何建议?我很乐意让@ Html.EditorFor(m =&gt; m.MyLookup)能够呈现我需要的一切。作为现在的解决方法,我将查找Div / Form作为单独的操作,除了EditorFor之外,我还必须包括在主窗体之外。