我有一个看起来有点像这样的模型:
Public Class MyModel
Public Property ID As Integer
Public Property Name As String
Public Property TypeID As Integer
Public Property Description As String
Public Property MyObjectList As List(Of MyObject)
Public Property MyObjectList2 As List(Of MyObject)
我的视图有点像(为方便起见简化/编辑):
@Using Html.BeginForm()
@Html.HiddenFor(Function(Model) Model.ID)
@Html.EditorFor(Function(Model) Model.Name)
@Html.HiddenFor(Function(Model) Model.TypeID)
@Html.EditorFor(Function(Model) Model.Description)
@Html.EditorFor(Function(Model) Model.MyObjectList)
@Html.EditorFor(Function(Model) Model.MyObjectList2)
MyObject 的编辑器模板(再次经过大量编辑):
<div class="myClass" id="MyObject@(Model.ID)">
@Html.HiddenFor(Function(modelItem) Model.ID)
@Html.TextBoxFor(Function(modelItem) Model.Name)
@Html.TextBoxFor(Function(modelItem) Model.Description)
通过一些 JavaScript,用户可以在填写表单时添加更多 MyObject 条目。
在我的视图中,一个保存功能通过 AJAX 回发完成的表单,看起来有点像这样:
$('#Save').click(function () {
$.post("/MyModel/Save", $('form').serialize(), function (data) {
if (data.Success) {
}
else {
}
});
});
这一切都很好。
现在我想要另一种方法,它只发回 MyObjectLists 中的一个字段中的所有信息。我在表单上使用的 .serialize() 方法是否可以限制为表单特定部分内的所有表单字段?还是我需要用所有数据构造一个单独的 JSON 对象并将其传回?或者我应该把整个事情传回去并过滤掉我在vb中需要的东西吗?
谢谢