C#Kendo MVC Tabstrip在局部视图中发布模型

时间:2013-08-22 21:16:05

标签: c# asp.net-mvc tabs kendo-ui partial-views

我有一个使用一组局部视图动态填充的标签。这些部分视图中的每一个都是一个条目形式,其中一些视图背后有不同的实体框架数据模型。

每当选择不同的选项卡时,我想使用两个参数(目标选项卡索引和模型数据)将模型POST到服务器。 (保存标签数据)

我的问题是,单击选项卡链接似乎是一个“获取”操作而不是“发布”操作,而我无法确定如何提交全面和孤立的数据。 (全面是模型,隔离是与特定局部视图相关联的模型)我假设我可以使用JQuery在部分视图上查找并执行更新按钮的单击方法,但这不会保留目标索引。

找到一种方法来唯一地识别表单本身并随后发布它是最好的方法吗?有人在这里暗示我吗?

2 个答案:

答案 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上的任何元素。