我有一个使用一组局部视图动态填充的标签。这些部分视图中的每一个都是一个条目形式,其中一些视图背后有不同的实体框架数据模型。
每当选择不同的选项卡时,我想使用两个参数(目标选项卡索引和模型数据)将模型POST到服务器。 (保存标签数据)
我的问题是,单击选项卡链接似乎是一个“获取”操作而不是“发布”操作,而我无法确定如何提交全面和孤立的数据。 (全面是模型,隔离是与特定局部视图相关联的模型)我假设我可以使用JQuery在部分视图上查找并执行更新按钮的单击方法,但这不会保留目标索引。
找到一种方法来唯一地识别表单本身并随后发布它是最好的方法吗?有人在这里暗示我吗?
答案 0 :(得分:0)
我不确定最好的方法是什么。我所做的是用
将代码包装在我的部分中@using (Html.BeginForm("Action", "Controller"))
{
}
然后只有一个提交按钮点击事件。这只回发了那部分信息。如果你想将多个部分发送到同一个动作,那么我将使用一个隐藏字段,在单击选项卡时设置该字段,你应该能够使用Request.Form [“FieldName”]来提取该索引。希望这会有所帮助。
编辑:
您也可以尝试将ajax调用回服务器
$.ajax({
url: "@Url.Action("Action", "Controller")",
type: 'post',
data: {id: 'hiddenfield', data: 'data', etc},
dataType: 'json',
contentType: "application/json",
success: function (result) {
(do something)
}
});
以这种方式发送模型,您需要将这些字段添加到数据行。如果有很多数据,我建议将其字符串化。您可以将此调用放入提交按钮单击事件中。
答案 1 :(得分:0)
如上所述使用ajax调用。元素是在父页面还是部分页面上并不重要。一旦呈现html,就可以引用DOM上的任何元素。