在我看来,我的表单中有一个 div。使用 javascript 我使用 jqwidgets 来生成组合框。
现在在表单中我也有提交按钮。表单中的其余内容作为请求参数传递给控制器操作(尽管我使用模型 - 所以它们会自动映射),这个 div 内容会发生什么。
它们是否也传递给控制器?如果是这样,我们如何在操作中访问它?
在我看来,我的表单中有一个 div。使用 javascript 我使用 jqwidgets 来生成组合框。
现在在表单中我也有提交按钮。表单中的其余内容作为请求参数传递给控制器操作(尽管我使用模型 - 所以它们会自动映射),这个 div 内容会发生什么。
它们是否也传递给控制器?如果是这样,我们如何在操作中访问它?
Request.Form
如果您的 div 中的内容在表单内并且组件已正确创建,那么当您发送表单时它们将在您的控制器中。
您可以通过它们访问它们Request.Form["componentName"],
,如果它的 name 属性与模型类中的参数匹配,它应该能够直接绑定它。
请记住,javascript 创建的内容会有效地添加到DOM中。当您发送表单时,DOM内的整个表单组件集合都会发送到您的请求中。您只需要检查组件是否正确创建和标识(我的意思是......它们具有正确的名称属性)
jqxComboBox小部件有一个隐藏的输入。只需设置 DIV 标签的 name 属性,ComboBox 的值也会被传递。
要获取jqwidgets组合框的值,您可以键入:
var value = $("#combobox").val();
当表单发布时,只有输入、选择和 textarea 值在以下元素时传递给服务器:
form
以表单 ID 作为值的属性)您几乎不需要将整个 html 元素传递给动作,但如果需要,则通过 ajax 传递它或将其写入隐藏输入中