为什么jquery ui对话框会破坏asp.net mvc的默认模型绑定。

我刚刚参加了演示jquery UI对话框(模型对话框)示例,并尝试将其包含在我的asp.net mvc项目中,我观察到一些奇怪的东西。

如果你有一个jquery ui对话框div标签内的内容,默认模型绑定器不会在发布到服务器期间拾取它,因为它从表单中删除这些元素

完整视图代码如下。 如果您在底部看到,则有对话框内容的部分:

<div id="dialog" 

问题是在我的表格“div对话框”中,还有一些输入映射到我的绑定数据对象字段。 当我在调试期间查看我的控制器动作时,这些在发布后都是空的。

jquery ui对话框js代码可以做什么,当它作为代码在表单元素内部发布时,它将从默认模型绑定器“scope”中删除它?


Javascript代码:

  $(function() { $("#dialog").dialog({ bgiframe: true, autoOpen: false, height: 500, width: 500, modal: true, buttons: { 'Create an account': function() { 

HTML代码

   
Name Email Details
John Doe john.doe@example.com Locations:
Submit

我发现这个其他Stackoverflow问题与类似的问题,它部分工作。

jQuery模态窗口从我的表单中删除元素

它会在提交之前将对话框元素推回到表单中并修复问题